Skip to content

gui: bump deps

gui: bump deps #1334

Workflow file for this run

---
name: Create instawow executables
on: [push, workflow_dispatch]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
FORCE_COLOR: "1"
UV_PYTHON_DOWNLOADS: manual
UV_PYTHON_PREFERENCE: only-managed
defaults:
run:
shell: bash
jobs:
build-packages:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.build-packages.outputs.version }}
steps:
- name: Clone the repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build packages
id: build-packages
uses: ./.github/actions/build-packages
freeze-cli:
needs: build-packages
strategy:
fail-fast: false
matrix:
build-env:
- os: macos-12
target: aarch64-apple-darwin
- os: macos-12
target: x86_64-apple-darwin
- os: ubuntu-22.04
target: aarch64-unknown-linux-gnu
- os: ubuntu-22.04
target: x86_64-unknown-linux-gnu
# - os: windows-2022
# target: aarch64-pc-windows-msvc
- os: windows-2022
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.build-env.os }}
steps:
- name: Clone the repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download pre-built packages
uses: actions/download-artifact@v4
with:
name: packages
path: ./dist
- name: Install uv
uses: astral-sh/setup-uv@v3
- name: Install Python 3.12
run: uv python install 3.12
- name: Install nox
run: uv tool install -p 3.12 nox
- name: Install Rust
run: rustup update stable
- name: Install cross-compilation toolchain
uses: taiki-e/setup-cross-toolchain-action@v1
with:
target: ${{ matrix.build-env.target }}
- name: Install cross
uses: taiki-e/install-action@v2
with:
tool: cross
if: startsWith(matrix.build-env.os, 'ubuntu-')
- name: Freeze the CLI
id: freeze-cli
run: nox -s freeze_cli -- --out-dir ./cli
env:
CARGO_BUILD_TARGET: ${{ matrix.build-env.target }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: instawow-cli-${{ needs.build-packages.outputs.version }}-${{ matrix.build-env.target }}
path: ./cli/instawow*
freeze-gui:
needs: build-packages
strategy:
matrix:
build-env:
- os: macos-latest
target: universal2-apple-darwin
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- os: windows-latest
target: x86_64-pc-windows-msvc
fail-fast: false
runs-on: ${{ matrix.build-env.os }}
steps:
- name: Clone the repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download pre-built packages
uses: actions/download-artifact@v4
with:
name: packages
path: ./dist
- name: Install briefcase Linux dependencies
run: sudo apt-get update --fix-missing && sudo apt-get install -y flatpak-builder
if: startsWith(matrix.build-env.os, 'ubuntu-')
- name: Install uv
uses: astral-sh/setup-uv@v3
- name: Install Python 3.12
run: uv python install 3.12
- name: Install nox
run: uv tool install -p 3.12 nox
- name: Freeze the GUI
run: >-
nox
--error-on-missing-interpreters
--force-python 3.12
-s freeze_gui-3.12
--
${{ startsWith(github.ref, 'refs/tags/') && '--release' || '' }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: instawow-gui-${{ needs.build-packages.outputs.version }}-${{ matrix.build-env.target }}
path: |
instawow-gui/dist/instawow-gui-*
if-no-files-found: error
create-release:
if: startsWith(github.ref, 'refs/tags/')
needs: [freeze-cli, freeze-gui]
runs-on: ubuntu-latest
steps:
- name: Download built artifacts
uses: actions/download-artifact@v4
with:
path: release-assets
- name: Zip up CLI directories
run: |
set +x
for d in instawow-cli-*
do
zip -r "${d%/}.zip" "$d"
done
working-directory: release-assets
- name: Release
uses: softprops/action-gh-release@v1
with:
draft: true
files: |
release-assets/instawow-cli-*.zip
release-assets/instawow-gui-*/*