Add construct to bootstrap an entire project (#8) #20
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
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
check: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-14 | |
- ubuntu-22.04 | |
- windows-2022 | |
# We want to ensure the repo works across OS's, but it's not worth blocking PRs on | |
# all the builds, especially slow ones like Windows. We will fix-forward if an issue | |
# comes up on main push. Also, use workaround from | |
# https://github.com/orgs/community/discussions/26253#discussioncomment-3250989 | |
run-all: | |
- ${{ github.event_name != 'pull_request' && !startsWith(github.ref_name, 'release/') }} | |
exclude: | |
- os: macos-14 | |
run-all: false | |
- os: windows-2022 | |
run-all: false | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: package.json | |
cache: pnpm | |
cache-dependency-path: pnpm-lock.yaml | |
- name: install dependencies | |
run: pnpm install | |
- name: run lints | |
# We don't have OS-specific code so would be completely repetitive to run | |
# lint on all of them. | |
if: ${{ startsWith(matrix.os, 'ubuntu-') }} | |
run: pnpm run lint |