Skip to content

fix: close architecture delta release gates #69

fix: close architecture delta release gates

fix: close architecture delta release gates #69

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20, 22]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
cache-dependency-path: archify/package-lock.json
- name: Install renderer dependencies
run: npm ci
working-directory: archify
- name: Golden-file + schema tests
run: npm test
working-directory: archify
webm-artifact:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Provision a known Chrome runtime
id: setup-chrome
uses: browser-actions/setup-chrome@v2
with:
chrome-version: stable
install-dependencies: true
- name: Install the WebM decoder
run: sudo apt-get update && sudo apt-get install --no-install-recommends -y ffmpeg
- name: Decode a real motion export and reject static frames
run: npm run test:webm
working-directory: archify
env:
ARCHIFY_CHROME: ${{ steps.setup-chrome.outputs.chrome-path }}
zip-freshness:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Rebuild archify.zip and compare contents
run: |
(cd /tmp && "$GITHUB_WORKSPACE/scripts/build-zip.sh" fresh.zip)
mkdir /tmp/fresh /tmp/checked
unzip -q /tmp/fresh.zip -d /tmp/fresh
unzip -q archify.zip -d /tmp/checked
if ! diff -r /tmp/fresh/archify /tmp/checked/archify; then
echo '::error::archify.zip is stale — run scripts/build-zip.sh and commit the result'
exit 1
fi
package-smoke:
name: package smoke (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Extract packaged skill
if: runner.os != 'Windows'
run: |
set -euo pipefail
package_root="$RUNNER_TEMP/archify-package"
rm -rf "$package_root"
mkdir -p "$package_root"
unzip -q archify.zip -d "$package_root"
- name: Extract packaged skill
if: runner.os == 'Windows'
shell: pwsh
run: |
$packageRoot = Join-Path $env:RUNNER_TEMP 'archify-package'
if (Test-Path $packageRoot) { Remove-Item -Recurse -Force $packageRoot }
Expand-Archive -Path archify.zip -DestinationPath $packageRoot
- name: Validate packaged skill without installing dependencies
run: node scripts/package-smoke.mjs