Skip to content

Fix release-prepare required-checks loop check names #4

Fix release-prepare required-checks loop check names

Fix release-prepare required-checks loop check names #4

Workflow file for this run

name: Code tests & eval
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
check:
name: Type check
runs-on: ubuntu-22.04
steps:
- name: Checkout source
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v6.0.2
with: { persist-credentials: false }
- name: Setup environment
uses: ./.github/actions/common-setup
- name: svelte-check
run: pnpm check
test:
name: Unit tests
runs-on: ubuntu-22.04
steps:
- name: Checkout source
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v6.0.2
with: { persist-credentials: false }
- name: Setup environment
uses: ./.github/actions/common-setup
- name: vitest
run: pnpm test
build:
name: Production build
runs-on: ubuntu-22.04
steps:
- name: Checkout source
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v6.0.2
with: { persist-credentials: false }
- name: Setup environment
uses: ./.github/actions/common-setup
- name: Build production bundle
run: pnpm build
- name: Upload dist artifact
uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.6.0
with:
name: dist-${{ github.sha }}
path: dist/
retention-days: 7
smoke:
name: Smoke (real sync-server)
runs-on: ubuntu-22.04
timeout-minutes: 10
# Pin sync-server by digest so this test can never silently shift if `latest`
# is republished. Refresh intentionally when targeting a different release.
services:
sync-server:
image: ghcr.io/d4rken-org/octi-server@sha256:bdb7a647a4d74ad39d17170080d9aacc94159f412b147372825c23e7067fa0b7
ports:
- 18080:8080
env:
OCTI_CORS_ALLOWED_ORIGINS: 'http://127.0.0.1:5173,http://localhost:5173'
steps:
- name: Checkout source
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v6.0.2
with: { persist-credentials: false }
- name: Setup environment
uses: ./.github/actions/common-setup
- name: Wait for sync-server
run: |
set -euo pipefail
for attempt in $(seq 1 30); do
if curl -sf http://127.0.0.1:18080/v1/status > /dev/null; then
echo "sync-server up after ${attempt}s"
exit 0
fi
sleep 1
done
echo "sync-server did not respond within 30s" >&2
docker logs ${{ job.services.sync-server.id }} || true
exit 1
- name: Run smoke suite
env:
SMOKE_SERVER_URL: http://127.0.0.1:18080
run: pnpm test:smoke
- name: Dump sync-server logs on failure
if: failure()
run: docker logs ${{ job.services.sync-server.id }} || true
release-tooling:
name: Release tooling
runs-on: ubuntu-22.04
steps:
- name: Checkout source
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v6.0.2
with: { persist-credentials: false }
- name: Install bats + shellcheck
run: |
sudo apt-get update
sudo apt-get install -y bats shellcheck
- name: Shellcheck bump.sh
run: shellcheck tools/release/bump.sh
- name: Run bump.sh unit tests
run: bats tools/release/bump.bats
- name: Verify package.json + bump.sh are consistent
run: tools/release/bump.sh --mode=check