build(deps-dev): lock typescript minor version #873
Workflow file for this run
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 | |
# **What it does**: Runs our tests. | |
# **Why we have it**: We want our tests to pass before merging code. | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- "docs/**" | |
- "*.md" | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- "docs/**" | |
- "*.md" | |
types: [opened, ready_for_review, reopened, synchronize] | |
permissions: | |
contents: read | |
# This allows a subsequently queued workflow run to interrupt previous runs | |
concurrency: | |
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" | |
cancel-in-progress: true | |
jobs: | |
dependency-review: | |
name: Dependency Review | |
if: > | |
github.event.pull_request.draft == false && | |
github.event_name == 'pull_request' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Dependency review | |
uses: actions/dependency-review-action@v4 | |
lint: | |
name: Lint Code | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
check-latest: true | |
node-version: lts/* | |
- name: Install | |
run: npm i --ignore-scripts | |
- name: Audit NPM package signatures and provenance attestations | |
run: npm audit signatures | |
- name: Run ESLint | |
run: npm run lint | |
- name: Run Prettier | |
run: npm run lint:prettier | |
- name: Run License Checker | |
run: npm run lint:licenses | |
- name: Run Build | |
run: npm run build --if-present | |
commit-lint: | |
name: Lint Commit Messages | |
if: > | |
github.event.pull_request.draft == false && | |
github.actor != 'dependabot[bot]' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
persist-credentials: false | |
- name: Run Commitlint | |
uses: wagoid/commitlint-github-action@v6 | |
with: | |
configFile: ./package.json | |
unit-tests: | |
name: Unit Tests | |
if: github.event.pull_request.draft == false | |
strategy: | |
matrix: | |
node-version: [18, 20, 22] | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Setup Node ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install | |
run: npm i --ignore-scripts | |
- name: Install macOS dependencies | |
if: matrix.os == 'macos-latest' | |
env: | |
HOMEBREW_NO_ANALYTICS: 1 | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
HOMEBREW_NO_AUTO_UPDATE: 1 | |
run: brew install unrtf | |
- name: Install Ubuntu dependencies | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get -q update | |
sudo apt-get -y --no-install-recommends install unrtf | |
- name: Run tests | |
run: npm run jest:coverage | |
- name: Coveralls parallel | |
if: github.repository == 'Fdawgs/node-unrtf' | |
uses: coverallsapp/github-action@v2.3.1 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel: true | |
flag-name: run-${{ matrix.node-version }}-${{ matrix.os }} | |
coverage: | |
name: Aggregate Coverage Calculations | |
needs: unit-tests | |
if: > | |
github.event.pull_request.draft == false && | |
github.repository == 'Fdawgs/node-unrtf' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls finished | |
uses: coverallsapp/github-action@v2.3.1 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel-finished: true | |
# This job is used to save the PR number in an artifact, for use in the automerge.yml workflow | |
save-pr-number: | |
name: Save Dependabot PR Number | |
needs: unit-tests | |
if: > | |
github.event.pull_request.draft == false && | |
github.event_name == 'pull_request' && | |
github.event.pull_request.user.login == 'dependabot[bot]' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Save PR number | |
run: | | |
mkdir -p ./pr | |
echo ${{ github.event.number }} > ./pr/NR | |
- name: Upload PR number in artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pr | |
path: pr/ |