Merge pull request #718 from paambaati/gp/force-release #1992
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: "PR checks" | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
check_pr: | |
name: "PR checks" | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout code | |
uses: actions/checkout@v4 | |
- name: setup pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: setup node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'pnpm' | |
- name: install dependencies | |
run: pnpm install | |
- name: build typescript | |
run: pnpm run build --noEmit | |
- name: check for unformatted sources | |
run: | | |
pnpm run format:check \ | |
|| (echo "##[error] found unformatted files. please 'pnpm run format'" \ | |
"and check in all changes" \ | |
&& exit 1) | |
- name: check for uncommitted changes | |
# Ensure no changes, but ignore node_modules dir since dev/fresh ci deps installed. | |
run: | | |
git diff --exit-code --stat -- . ':!node_modules' \ | |
|| (echo "##[error] found changed files after build. please 'pnpm run build'" \ | |
"and check in all changes" \ | |
&& exit 1) | |
tests: | |
name: "Tests (${{ matrix.os.os-label }})" | |
strategy: | |
matrix: | |
os: | |
- { index: 1, os-name: 'ubuntu-latest', os-label: 'Linux' } | |
- { index: 2, os-name: 'macos-latest', os-label: 'macOS' } | |
- { index: 3, os-name: 'windows-latest', os-label: 'Windows' } | |
runs-on: ${{ matrix.os.os-name }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os.os-name }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
steps: | |
- name: checkout code | |
uses: actions/checkout@v4 | |
- name: setup pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: setup node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'pnpm' | |
- name: install dependencies | |
run: pnpm install | |
- name: run tests and instrument coverage | |
run: pnpm run coverage | |
- name: publish code coverage to code-climate (duh) | |
if: ${{ github.event_name == 'push' && matrix.os.index == 1 }} # Push coverage only once inside the matrix. | |
uses: paambaati/codeclimate-action@v5.0.0 | |
env: | |
CC_TEST_REPORTER_ID: 3470adaf12ff7cecdfe5a968ae0e95d098b6ee58c340114e1e90d440ee9e66ab | |
with: | |
debug: true | |
coverageLocations: | | |
${{github.workspace}}/.tap/report/lcov.info:lcov |