Remove RELEASE.md now that the first release is out (#5) #14
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: 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 |