Bundle git changes #25
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: Continuous Integration | |
on: | |
pull_request: | |
branches: [main] | |
push: | |
branches: [main] | |
permissions: | |
contents: read | |
actions: read # This allows the token to read actions and their logs | |
jobs: | |
# Define the job for running TypeScript-related tests and checks. | |
test-typescript: | |
name: TypeScript Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
id: checkout | |
uses: actions/checkout@v4 | |
# Installs npm dependencies defined in package-lock.json to get reproducible builds. | |
- name: Setup Node.js | |
id: setup-node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: .node-version | |
cache: npm | |
- name: Install Dependencies | |
id: npm-ci | |
run: npm ci | |
# Run code formatting check with Prettier. | |
- name: Check Format | |
id: npm-format-check | |
run: npm run format:check | |
# Executes ESLint to catch syntax and style issues. | |
- name: Lint | |
id: npm-lint | |
run: npm run lint | |
# Runs unit tests using the npm script. | |
- name: Test | |
id: npm-ci-test | |
run: npm run ci-test | |
# Define the job to test the GitHub Action itself. | |
test-action: | |
name: GitHub Actions Test | |
runs-on: ubuntu-latest | |
steps: | |
# Checks out the repository so the action can be tested. | |
- name: Checkout | |
id: checkout | |
uses: actions/checkout@v4 | |
# Introduce an intentional failure | |
- name: Intentional Failure | |
run: exit 1 | |
continue-on-error: true # This allows the workflow to continue even if this step fails |