Skip to content

Merge pull request #192 from proofgeist/changeset-release/main #275

Merge pull request #192 from proofgeist/changeset-release/main

Merge pull request #192 from proofgeist/changeset-release/main #275

Workflow file for this run

name: Release
on:
workflow_dispatch:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
permissions:
contents: write
pull-requests: write
id-token: write
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js 22.x
uses: actions/setup-node@v6
with:
node-version: 22
cache: "pnpm"
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm lint
typecheck:
name: Type Check
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js 22.x
uses: actions/setup-node@v6
with:
node-version: 22
cache: "pnpm"
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Type Check
run: pnpm typecheck
test:
name: Deterministic Contract Tests
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js 22.x
uses: actions/setup-node@v6
with:
node-version: 22
cache: "pnpm"
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Run Deterministic Contract Tests
run: pnpm test
cli-smoke:
name: CLI External Integration Smoke Tests
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js 22.x
uses: actions/setup-node@v6
with:
node-version: 22
cache: "pnpm"
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Install Doppler CLI
uses: dopplerhq/cli-action@v4
- name: Get OIDC token
run: |
TOKEN=$(curl -s -H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
"${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=https://github.com/$GITHUB_REPOSITORY_OWNER")
echo "OIDC_TOKEN=$(echo $TOKEN | jq -r '.value')" >> $GITHUB_ENV
- name: Authenticate with Doppler
run: |
doppler oidc login --scope=. --identity=${{ vars.DOPPLER_SERVICE_IDENTITY_ID }} --token=$OIDC_TOKEN
doppler configure set project proofkit
doppler configure set config test
- name: Run CLI External Integration Smoke Tests
run: doppler run -- pnpm --filter @proofkit/cli test:smoke
fmodata-e2e:
name: fmodata E2E Tests
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js 22.x
uses: actions/setup-node@v6
with:
node-version: 22
cache: "pnpm"
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Install Doppler CLI
uses: dopplerhq/cli-action@v4
- name: Get OIDC token
run: |
TOKEN=$(curl -s -H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
"${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=https://github.com/$GITHUB_REPOSITORY_OWNER")
echo "OIDC_TOKEN=$(echo $TOKEN | jq -r '.value')" >> $GITHUB_ENV
- name: Authenticate with Doppler
run: |
doppler oidc login --scope=. --identity=${{ vars.DOPPLER_SERVICE_IDENTITY_ID }} --token=$OIDC_TOKEN
doppler configure set project proofkit
doppler configure set config test
- name: Run fmodata E2E Tests
run: pnpm --filter @proofkit/fmodata test:e2e
release:
name: Release
needs:
- lint
- typecheck
- test
- cli-smoke
- fmodata-e2e
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js 24.x
uses: actions/setup-node@v6
with:
node-version: 24
cache: "pnpm"
registry-url: "https://registry.npmjs.org"
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
publish: pnpm release
env:
GITHUB_TOKEN: ${{ github.token }}
NPM_CONFIG_PROVENANCE: true