Skip to content

Merge pull request #41 from ayenpure/master #1

Merge pull request #41 from ayenpure/master

Merge pull request #41 from ayenpure/master #1

name: "Package and Release"
on:
push:
branches: [release*]
# This workflow will trigger on each push to the `master` branch to create or update a GitHub release, build your app, and upload the artifacts to the release.
jobs:
publish-tauri:
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: ''
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Verify LFS files
run: |
echo "Checking LFS files..."
ls -la quickview/data/
file quickview/data/globe.vtk
file quickview/data/connectivity.nc
echo "LFS file check complete"
- name: Get version for tagging
id: get_version
run: |
# We need to set up Python first to read the version
echo "Will read version after Python setup"
- name: Set up Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
miniconda-version: "latest"
auto-update-conda: true
activate-environment: quickview
environment-file: quickview-env.yml # optional (see below)
channel-priority: strict
- name: Install dependencies and get version
run: |
python -m pip install --upgrade pip
pip install . # Assumes installable via setup.py or pyproject.toml
# Now we can read the version
VERSION=$(python -c "from quickview import __version__; print(__version__)")
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "Found version: $VERSION"
shell: bash -l {0}
- name: Package using PyInstaller
run: |
chmod +x scripts/setup_tauri.sh
./scripts/setup_tauri.sh
shell: bash -l {0}
- name: setup node
uses: actions/setup-node@v4
with:
node-version: lts/*
- 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 libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
# webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2.
# You can remove the one that doesn't apply to your app to speed up the workflow a bit.
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: v${{ env.VERSION }}
releaseName: "QuickView release v${{ env.VERSION }}"
releaseBody: "See the assets to download this version and install."
releaseDraft: true
prerelease: false
args: ${{ matrix.args }}