0.5.0: remove the deprecated authoring surface — converge on definition #44
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| tags: ["v*"] | |
| pull_request: | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 11 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile | |
| - run: pnpm run typecheck | |
| - run: pnpm run lint | |
| # Build BEFORE test: the lint test consumes the shipped oxlint preset, | |
| # whose "effect-temporal/lint" plugin specifier resolves through this | |
| # package's own `exports` to dist/lint.js. | |
| - run: pnpm run build | |
| # Each test file boots a Temporal test-server process (downloaded on | |
| # first use by @temporalio/testing). | |
| - run: pnpm run test | |
| # The runnable examples are part of the contract: typecheck them | |
| # against the built package and run them end to end (each boots its | |
| # own local Temporal dev server). | |
| - run: pnpm --dir examples/order-saga run typecheck | |
| - run: pnpm --dir examples/order-saga start | |
| - run: pnpm --dir examples/subscription run typecheck | |
| - run: pnpm --dir examples/subscription start | |
| - run: pnpm run docs:build | |
| publish: | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| needs: ci | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write # npm provenance | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 11 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| registry-url: https://registry.npmjs.org | |
| - run: pnpm install --frozen-lockfile | |
| # The tag must match package.json — a mismatched tag publishes nothing. | |
| - name: Check tag matches package version | |
| run: | | |
| PKG_VERSION="$(node -p "require('./package.json').version")" | |
| TAG_VERSION="${GITHUB_REF_NAME#v}" | |
| if [ "$PKG_VERSION" != "$TAG_VERSION" ]; then | |
| echo "package.json version ($PKG_VERSION) != tag ($TAG_VERSION)" >&2 | |
| exit 1 | |
| fi | |
| # Authenticates via npm Trusted Publishing (OIDC): the id-token: write | |
| # permission above lets npm verify this workflow against the trusted | |
| # publisher configured on the package — no token, no secret. | |
| - run: npm publish --provenance --access public |