Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10 from jeffijoe/chore/gha
Upgrade packages, move to GitHub Actions, use fast-glob
- Loading branch information
Showing
21 changed files
with
21,405 additions
and
6,984 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
/* eslint-env node */ | ||
module.exports = { | ||
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], | ||
parser: '@typescript-eslint/parser', | ||
plugins: ['@typescript-eslint'], | ||
root: true, | ||
parserOptions: { | ||
project: true, | ||
tsconfigRootDir: __dirname, | ||
}, | ||
rules: { | ||
// Only disabling this because this code is very old but also battle-tested, | ||
// and coming up with clever typings may break for consumers. | ||
'@typescript-eslint/no-explicit-any': 'off', | ||
// We need to support `Function` and `Constructor` types. | ||
'@typescript-eslint/ban-types': 'off', | ||
}, | ||
overrides: [ | ||
{ | ||
files: ['**/__tests__/*.test.ts'], | ||
rules: { | ||
// The tests may use an untyped library which requires (no pun intended) `require`. | ||
'@typescript-eslint/no-var-requires': 'off', | ||
'@typescript-eslint/no-unused-vars': 'off', | ||
}, | ||
}, | ||
], | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Name of the pipeline | ||
name: CI | ||
|
||
# Allow the token to create releases and read pull requests. | ||
# Needed for semantic-release. | ||
permissions: | ||
contents: write | ||
pull-requests: read | ||
|
||
# When pushing to `master` or when there is a PR for the branch. | ||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- 'master' | ||
|
||
jobs: | ||
ci: | ||
name: Lint, Test & Release (Node ${{ matrix.version }}) | ||
runs-on: ubuntu-22.04 | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
version: | ||
- 16 | ||
- 18 | ||
- 20 | ||
- current | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.version }} | ||
cache: 'npm' | ||
|
||
- name: Install Packages | ||
run: npm ci | ||
|
||
- name: Build | ||
run: npm run build | ||
|
||
- name: Lint | ||
run: npm run lint | ||
|
||
- name: Test | ||
run: npm run cover | ||
|
||
- if: ${{ matrix.version == 'current' }} | ||
name: Coveralls | ||
uses: coverallsapp/github-action@v2 | ||
|
||
- if: ${{ matrix.version == 'current' }} | ||
name: Semantic Release | ||
run: npm run semantic-release | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
|
||
# Cancel running workflows for the same branch when a new one is started. | ||
concurrency: | ||
group: ci-${{ github.ref }} | ||
cancel-in-progress: true |
This file was deleted.
Oops, something went wrong.
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
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
Oops, something went wrong.