Skip to content

Commit 514dec0

Browse files
authored
ci: migrate to GitHub Actions w/ matrix (#84)
* ci: migrate to GitHub Actions w/ matrix - Travis CI is only _pseudo_-free after the .org -> .com merge - c.f. https://travis-ci.community/t/org-com-migration-unexpectedly-comes-with-a-plan-change-for-oss-what-exactly-is-the-new-deal/10567 - and honestly, has glitches occasionally where my builds don't run or I can't manually re-run either - GH Actions are _actually_ free for OSS / public repos - and also offer a decent level of composability that's resulted in a huge surge in reusable community Actions (vs. CircleCI orbs etc haven't had nearly as much adoption) - and I've had a mostly great experience on them so far as well - also add a matrix for all Node LTS and all OSes - and upgrade to the Codecov GH Action, since the bash uploader was deprecated (https://about.codecov.io/blog/introducing-codecovs-new-uploader/) - this is basically a mix of the Actions I helped set-up in rpt2's repo and the TSDX templates: - https://github.com/ezolenko/rollup-plugin-typescript2/blob/03cfb048adcf39de56bd4566dc9a7300534a3cc1/.github/workflows/nodejs.yml - https://github.com/jaredpalmer/tsdx/blob/2d7981b00b2bf7363a3eeff44ff5ff698ba58c8c/templates/basic/.github/workflows/main.yml - plus upgrades to all the Actions, for instance, newer `setup-node` now has caching built-in * fix(ci): remove Node 18 due to node-canvas installation issues - per the in-line comment, there are some upstream issues in node-canvas that is causing installation to fail on Node 18 - made a TODO to add Node 18 back to the matrix once it's properly supported upstream
1 parent 3db849f commit 514dec0

File tree

2 files changed

+35
-12
lines changed

2 files changed

+35
-12
lines changed

.github/workflows/ci.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: CI
2+
on: [push]
3+
jobs:
4+
ci:
5+
name: CI - Node ${{ matrix.node-version }}, ${{ matrix.os }}
6+
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
matrix:
10+
# TODO: add back Node 18 once node-canvas is properly supported: https://github.com/Automattic/node-canvas/issues/2025
11+
node-version: [14.x, 16.x] # LTS Node: https://nodejs.org/en/about/releases/
12+
os: [ubuntu-latest, windows-latest, macOS-latest]
13+
14+
steps:
15+
- name: Checkout repo
16+
uses: actions/checkout@v3
17+
- name: Setup Node.js ${{ matrix.node-version }}
18+
uses: actions/setup-node@v3
19+
with:
20+
node-version: ${{ matrix.node-version }}
21+
cache: 'npm'
22+
- name: Install
23+
run: npm ci
24+
25+
- name: Typecheck
26+
run: npm run tsc
27+
- name: Lint
28+
run: npm run lint
29+
- name: Build
30+
run: npm run build
31+
32+
- name: Test w/ coverage report
33+
run: npm run test:coverage
34+
- name: Upload coverage report to Codecov
35+
uses: codecov/codecov-action@v2

.travis.yml

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)