Repository navigation
fix(branding): capitalize the installed display name as Taskly #283
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| # Single source of truth for the rivet pin; every install step below | |
| # references this so a bump is one edit, not a grep-replace across jobs. | |
| env: | |
| RIVET_PIN: 1ebb3ac09ed2e23eeb0a91cbec6e689aac01ab1a | |
| jobs: | |
| contract: | |
| name: Contract preflight (i18n + release metadata) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Verify platform i18n copies match shared/i18n | |
| run: scripts/sync-i18n.sh --check | |
| - name: Verify release version alignment | |
| run: bash scripts/check-release-version.sh | |
| - name: Verify dependency pins stay aligned | |
| run: bash scripts/check-dependency-pins.sh | |
| core: | |
| name: Racket core (contract tests) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Racket CS 9.3 | |
| uses: Bogdanp/setup-racket@v1.15 | |
| with: | |
| architecture: x64 | |
| distribution: full | |
| variant: CS | |
| version: '9.3' | |
| - name: Install Rivet (catalog) | |
| # keel pinned just below the commit that added | |
| # tests/documentation — it collides with rivet v0.11.0's own | |
| # tests/documentation module and fails every install (upstream | |
| # issue filed against keel). Drop this pin once the rename lands. | |
| run: | | |
| raco pkg install --auto --no-docs 'https://github.com/turinglambdaai/keel.git#0740fdfbdab7bf5dab32232c82f07dd98aa6a196' | |
| raco pkg install --auto --no-docs 'https://github.com/turinglambdaai/rivet.git#${{ env.RIVET_PIN }}' | |
| - name: Core contract tests | |
| run: raco test racket/ | |
| # Golden CLI suite: byte-identical stdout/stderr/exit codes | |
| # against shared/cli-golden/, run through the system-racket CLI shim. | |
| - name: Golden CLI suite | |
| run: python3 shared/cli-golden/runner.py --binary scripts/taskly-cli.sh | |
| linux-host: | |
| name: Linux host (GTK4 build) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Racket CS 9.3 | |
| uses: Bogdanp/setup-racket@v1.15 | |
| with: | |
| architecture: x64 | |
| distribution: full | |
| variant: CS | |
| version: '9.3' | |
| - name: Install GTK toolchain | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake ninja-build pkg-config \ | |
| libgtk-4-dev libadwaita-1-dev libjson-glib-dev \ | |
| libsecret-1-dev libglib2.0-dev | |
| # Builds and caches the embeddable Racket CS runtime and exports | |
| # RIVET_RACKET_* (rivet's own composite action). | |
| - name: Set up embeddable Racket CS | |
| uses: turinglambdaai/rivet/.github/actions/setup-embed-racket@1ebb3ac09ed2e23eeb0a91cbec6e689aac01ab1a | |
| # Installed after the embeddable runtime so the catalog dependency | |
| # closure (cext-lib, crypto-lib, keel) resolves against the minimal | |
| # build — it ships no packages of its own. db backs taskly's storage; | |
| # crypto backs the updater's signing. | |
| - name: Install Rivet (catalog) and backend packages | |
| run: | | |
| # keel pinned below the tests/documentation collision commit | |
| # (upstream issue filed); drop once keel renames the module. | |
| raco pkg install --auto --no-docs 'https://github.com/turinglambdaai/keel.git#0740fdfbdab7bf5dab32232c82f07dd98aa6a196' | |
| raco pkg install --auto --no-docs 'https://github.com/turinglambdaai/rivet.git#${{ env.RIVET_PIN }}' | |
| raco pkg install --auto --no-docs db crypto | |
| - name: Toolchain doctor | |
| run: raco rivet doctor --json | |
| - name: Build host | |
| run: raco rivet build | |
| - name: Headless boot smoke | |
| run: | | |
| sudo apt-get install -y xvfb | |
| xvfb-run -a ./.rivet/stage/RivetHost & | |
| APP_PID=$! | |
| sleep 8 | |
| kill -0 $APP_PID | |
| kill $APP_PID | |
| macos-host: | |
| name: macOS host (${{ matrix.arch }} build) | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: arm64 | |
| runner: macos-15 | |
| racket-arch: arm64 | |
| - arch: x64 | |
| runner: macos-15-intel | |
| racket-arch: x64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Racket CS 9.3 | |
| uses: Bogdanp/setup-racket@v1.15 | |
| with: | |
| # Each leg builds the architecture it will package (release.yml | |
| # macos matrix matches). | |
| architecture: ${{ matrix.racket-arch }} | |
| distribution: full | |
| variant: CS | |
| version: '9.3' | |
| - name: Install Rivet (catalog) | |
| # keel pinned just below the commit that added | |
| # tests/documentation — it collides with rivet v0.11.0's own | |
| # tests/documentation module and fails every install (upstream | |
| # issue filed against keel). Drop this pin once the rename lands. | |
| run: | | |
| raco pkg install --auto --no-docs 'https://github.com/turinglambdaai/keel.git#0740fdfbdab7bf5dab32232c82f07dd98aa6a196' | |
| raco pkg install --auto --no-docs 'https://github.com/turinglambdaai/rivet.git#${{ env.RIVET_PIN }}' | |
| - name: Build host | |
| run: raco rivet build | |
| - name: Boot smoke | |
| run: | | |
| smoke_home="$RUNNER_TEMP/taskly-smoke-home" | |
| mkdir -p "$smoke_home" | |
| HOME="$smoke_home" ./.rivet/stage/RivetHost & | |
| APP_PID=$! | |
| sleep 8 | |
| kill -0 $APP_PID | |
| kill $APP_PID | |
| windows-host: | |
| name: Windows host (WinRT build) | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Racket CS 9.3 | |
| uses: Bogdanp/setup-racket@v1.15 | |
| with: | |
| architecture: x64 | |
| distribution: full | |
| variant: CS | |
| version: '9.3' | |
| - name: Install Rivet (catalog) | |
| shell: bash | |
| # keel pinned just below the commit that added | |
| # tests/documentation — it collides with rivet v0.11.0's own | |
| # tests/documentation module and fails every install (upstream | |
| # issue filed against keel). Drop this pin once the rename lands. | |
| run: | | |
| raco pkg install --auto --no-docs 'https://github.com/turinglambdaai/keel.git#0740fdfbdab7bf5dab32232c82f07dd98aa6a196' | |
| raco pkg install --auto --no-docs 'https://github.com/turinglambdaai/rivet.git#${{ env.RIVET_PIN }}' | |
| - name: Build host | |
| shell: pwsh | |
| run: raco rivet build |