Skip to content

feat: windows build (#29) #26

feat: windows build (#29)

feat: windows build (#29) #26

Workflow file for this run

name: Bundle
on:
push:
tags:
- "v*.*.*"
jobs:
bundle_core:
defaults:
run:
working-directory: core
strategy:
fail-fast: false
matrix:
include:
- platform: 'macos-latest' # for Arm based macs (M1 and above).
args: '--target aarch64-apple-darwin'
# - platform: 'macos-latest' # for Intel based macs.
# args: '--target x86_64-apple-darwin'
- platform: 'ubuntu-22.04' # for Tauri v1 you could replace this with ubuntu-20.04.
args: ''
- platform: 'windows-latest'
args: ''
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12.3"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install
- run: make bundle
- uses: actions/upload-artifact@v4
with:
name: core-${{ matrix.platform }}
retention-days: 1
path: core/dist/*
bundle_desktop:
needs: bundle_core
permissions:
contents: write
strategy:
fail-fast: false
matrix:
include:
- platform: 'macos-latest' # for Arm based macs (M1 and above).
args: '--target aarch64-apple-darwin'
# - platform: 'macos-latest' # for Intel based macs.
# args: '--target x86_64-apple-darwin'
- platform: 'ubuntu-22.04' # for Tauri v1 you could replace this with ubuntu-20.04.
args: ''
- platform: 'windows-latest'
args: ''
runs-on: ${{ matrix.platform }}
steps:
- name: Extract version from tag
id: extract_version
run: |
echo "Tag name: ${{ github.ref_name }}"
TAG_NAME=${{ github.ref_name }}
if [[ $TAG_NAME =~ ^v([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
__VERSION__=${BASH_REMATCH[1]}
echo "__VERSION__=$__VERSION__" >> $GITHUB_ENV
else
echo "The tag $TAG_NAME is not in the expected format 'v<MAJOR>.<MINOR>.<PATCH>'"
exit 1
fi
- uses: actions/checkout@v4
- name: Download bundle artifacts
uses: actions/download-artifact@v4
with:
name: core-${{ matrix.platform }}
path: core/dist
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above.
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
- name: Setup Webapp
id: prepare-webapp
uses: ./.github/actions/prepare_webapp
with:
working-directory: webapp
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: app-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version.
releaseName: 'v__VERSION__'
releaseBody: 'See the assets to download this version and install.'
releaseDraft: true
# prerelease: false
args: ${{ matrix.args }}
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
webapp/src-tauri/target/release/bundle/**/*.dmg
webapp/src-tauri/target/release/bundle/**/*.app
webapp/src-tauri/target/release/bundle/**/*.deb
webapp/src-tauri/target/release/bundle/**/*.rpm
webapp/src-tauri/target/release/bundle/**/*.AppImage
webapp/src-tauri/target/release/bundle/**/*.exe
webapp/src-tauri/target/release/bundle/**/*.msi
# # Project rules must be updated to push changes
# # GH013: Repository rule violations found for refs/heads/main.
# - uses: stefanzweifel/git-auto-commit-action@v5
# with:
# commit_message: Bump version to ${{ env.VERSION }}
# branch: main