Merge pull request #272 from sebgroup/dependabot/github_actions/githu… #235
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: Release | |
on: | |
push: | |
branches: | |
- main | |
# Cancel previously running workflows | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
install: | |
name: Install dependencies | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download dependencies | |
uses: bahmutov/npm-install@v1 | |
analyze: | |
name: Analyze with CodeQL | |
runs-on: ubuntu-latest | |
timeout-minutes: 360 | |
permissions: | |
security-events: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v3 | |
with: | |
languages: javascript | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v3 | |
licenses: | |
name: Check licenses | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- run: node tools/check-licenses.mjs | |
test: | |
name: Tests | |
runs-on: ubuntu-latest | |
needs: [install, licenses] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download dependencies | |
uses: bahmutov/npm-install@v1 | |
- name: Run tests | |
run: npm run test | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
needs: [install, licenses] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download dependencies | |
uses: bahmutov/npm-install@v1 | |
- name: Check linting, formatting, and imports | |
run: npx @biomejs/biome ci . | |
typecheck: | |
name: Type check | |
runs-on: ubuntu-latest | |
needs: [install, licenses] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download dependencies | |
uses: bahmutov/npm-install@v1 | |
- name: Run linting | |
run: npm run typecheck | |
changeset: | |
name: Create Release Pull Request or Publish to NPM | |
runs-on: ubuntu-latest | |
needs: [test, lint, typecheck, analyze] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download dependencies | |
uses: bahmutov/npm-install@v1 | |
- name: Create Changeset PR | |
uses: changesets/action@v1 | |
with: | |
publish: npm run release | |
commit: 'chore(release): update versions' | |
title: 'chore(release): update versions' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |