improve production build #447
Workflow file for this run
This file contains 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] | |
merge_group: | |
pull_request: | |
workflow_dispatch: | |
concurrency: ${{ github.workflow }}-${{ github.ref }} | |
env: | |
TURBO_API: http://127.0.0.1:9080 | |
TURBO_TOKEN: this-is-not-a-secret | |
TURBO_TEAM: the-starbeam-folks | |
jobs: | |
install_dependencies: | |
name: "Setup" | |
runs-on: "ubuntu-latest" | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: wyvox/action-setup-pnpm@v3 | |
build: | |
name: "Build" | |
runs-on: "ubuntu-latest" | |
needs: ["install_dependencies"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: wyvox/action-setup-pnpm@v3 | |
- run: pnpm build | |
- name: "Ensure Certain dependencies don't end up in the production bundles" | |
run: node ./workspace/scripts/build-verify.js | |
test: | |
name: "Tests" | |
runs-on: "ubuntu-latest" | |
needs: ["install_dependencies"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: wyvox/action-setup-pnpm@v3 | |
- run: pnpm ci:specs | |
test_prod: | |
name: "Tests (production)" | |
runs-on: "ubuntu-latest" | |
needs: ["install_dependencies"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: wyvox/action-setup-pnpm@v3 | |
- run: pnpm ci:prod | |
typecheck: | |
name: "Typecheck" | |
runs-on: "ubuntu-latest" | |
needs: ["install_dependencies"] | |
steps: | |
- uses: wyvox/action@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
# --continue will keep running test:types | |
# even if dependencies of packages have failed | |
# (which means we'll have a lot of extra errors | |
# if something core doesn't pass type checking) | |
- run: ./node_modules/.bin/turbo run test:types --continue | |
lint: | |
name: "Lint" | |
runs-on: "ubuntu-latest" | |
needs: ["install_dependencies"] | |
steps: | |
- uses: wyvox/action@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- run: ./node_modules/.bin/turbo run test:lint --continue | |