fix!: require a working CodePush server URL #45
Workflow file for this run
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: [master] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| checks: | |
| # Install, lint, format and typecheck are the shared workflow's; node comes | |
| # from .nvmrc and pnpm from the `packageManager` field. | |
| # | |
| # `@v1` is the moving major tag, so a fix in the shared workflow lands here | |
| # on the next run. Never `@main`: an unreviewed merge there would rerun | |
| # every consumer's CI. | |
| uses: GSTJ/magic/.github/workflows/ci.yml@v1 | |
| with: | |
| build-command: pnpm run build | |
| test-command: pnpm run test | |
| # `build/` is generated, so the only way to know the published tarball | |
| # isn't empty is to pack one. changelog:check renders a synthetic history | |
| # of every commit type through the real changelog preset and fails if a | |
| # type renders against policy or a breaking change goes missing. | |
| # | |
| # One `extra-command`, so they're chained. `&&` short-circuits, which is | |
| # what we want: either failing fails the job. | |
| extra-command: npm pack --dry-run && pnpm run changelog:check | |
| # Nothing here uses turbo. | |
| turbo-cache: false | |
| # master's ruleset requires a status check literally named "Lint, test and | |
| # build", and a called workflow reports as "<caller job> / <called job>", so | |
| # it can never produce that context. This job carries the name instead. It is | |
| # deletable the day the ruleset is pointed at the shared workflow's check — | |
| # a repository settings change, which is not this PR's to make. | |
| # | |
| # `if: always()` matters: a job skipped because its dependency failed reports | |
| # as skipped, and a skipped required check counts as passed. | |
| validate: | |
| name: Lint, test and build | |
| needs: checks | |
| if: always() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Fail unless the shared workflow passed | |
| run: '[ "${{ needs.checks.result }}" = "success" ]' |