Skip to content

fix(linux): preserve 64-bit task and list identities #134

fix(linux): preserve 64-bit task and list identities

fix(linux): preserve 64-bit task and list identities #134

Workflow file for this run

name: Product Acceptance
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: acceptance-${{ github.event_name }}-${{ github.ref }}
cancel-in-progress: true
env:
RIVET_PIN: 1ebb3ac09ed2e23eeb0a91cbec6e689aac01ab1a
KEEL_PIN: 0740fdfbdab7bf5dab32232c82f07dd98aa6a196
jobs:
windows:
name: Windows packaged WinUI acceptance
runs-on: windows-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: Bogdanp/setup-racket@v1.15
with:
architecture: x64
distribution: full
variant: CS
version: '9.3'
- name: Install pinned dependencies
shell: pwsh
run: |
raco pkg install --auto --no-docs "https://github.com/turinglambdaai/keel.git#$env:KEEL_PIN"
raco pkg install --auto --no-docs "https://github.com/turinglambdaai/rivet.git#$env:RIVET_PIN"
- name: Verify Windows installer artwork
shell: pwsh
run: python scripts/check-windows-installer-bitmaps.py
- name: Run executable acceptance contract
shell: pwsh
run: |
New-Item -ItemType Directory -Force .rivet\acceptance | Out-Null
$report = & raco rivet acceptance --json
$status = $LASTEXITCODE
$report | Tee-Object -FilePath .rivet\acceptance\report.json
exit $status
- name: Upload Windows evidence
if: always()
uses: actions/upload-artifact@v4
with:
name: taskly-acceptance-windows
path: .rivet/acceptance
if-no-files-found: warn
macos:
name: macOS packaged SwiftUI acceptance (${{ matrix.arch }})
runs-on: ${{ matrix.runner }}
timeout-minutes: 45
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
- uses: Bogdanp/setup-racket@v1.15
with:
architecture: ${{ matrix.racket-arch }}
distribution: full
variant: CS
version: '9.3'
- name: Install pinned dependencies
run: |
raco pkg install --auto --no-docs "https://github.com/turinglambdaai/keel.git#${KEEL_PIN}"
raco pkg install --auto --no-docs "https://github.com/turinglambdaai/rivet.git#${RIVET_PIN}"
- name: Run executable acceptance contract
shell: bash
run: |
set -euo pipefail
mkdir -p .rivet/acceptance
raco rivet acceptance --json | tee .rivet/acceptance/report.json
- name: Upload macOS evidence
if: always()
uses: actions/upload-artifact@v4
with:
name: taskly-acceptance-macos-${{ matrix.arch }}
path: .rivet/acceptance
if-no-files-found: warn
linux:
name: Linux packaged GTK4 acceptance
runs-on: ubuntu-24.04
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- name: Set up embeddable Racket CS
uses: turinglambdaai/rivet/.github/actions/setup-embed-racket@1ebb3ac09ed2e23eeb0a91cbec6e689aac01ab1a
- name: Install native and pinned Racket dependencies
shell: bash
run: |
set -euo pipefail
sudo apt-get update
sudo apt-get install --yes at-spi2-core dbus-x11 libgtk-4-dev \
libadwaita-1-dev libjson-glib-dev libsecret-1-dev python3-pyatspi weston
raco pkg install --auto --no-docs "https://github.com/turinglambdaai/keel.git#${KEEL_PIN}"
raco pkg install --auto --no-docs "https://github.com/turinglambdaai/rivet.git#${RIVET_PIN}"
raco pkg install --auto --no-docs --skip-installed db crypto
- name: Run executable acceptance contract
shell: bash
run: |
set -euo pipefail
mkdir -p .rivet/acceptance
dbus-run-session -- bash -c \
'set -euo pipefail; raco rivet acceptance --json | tee .rivet/acceptance/report.json'
- name: Upload Linux evidence
if: always()
uses: actions/upload-artifact@v4
with:
name: taskly-acceptance-linux
path: .rivet/acceptance
if-no-files-found: warn