chore: Improve build #1810
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, next] | |
paths-ignore: ['**.md'] | |
pull_request: {} | |
workflow_dispatch: {} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.head.label || github.run_id }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: latest | |
- run: bun install --frozen-lockfile | |
- run: bun run build | |
- run: bun run test --coverage-reporter=lcov --coverage-reporter=text | |
- name: Report coverage | |
if: ${{ github.repository_owner == 'maxmilton' }} | |
run: | | |
curl -LO https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 \ | |
-LO https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64.sha256 | |
grep test-reporter-latest-linux-amd64 test-reporter-latest-linux-amd64.sha256 | shasum -a 256 -c - | |
mv test-reporter-latest-linux-amd64 test-reporter | |
chmod +x ./test-reporter | |
./test-reporter format-coverage -t lcov -o coverage/codeclimate.json coverage/lcov.info | |
./test-reporter upload-coverage | |
env: | |
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
e2e: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: latest | |
- run: bun install --frozen-lockfile | |
- run: bun playwright install chromium | |
- run: bun run build | |
- run: bun run test:e2e --reporter=github,html | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 | |
lint: | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: latest | |
- run: bun install --frozen-lockfile | |
- run: bun run lint |