Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: add macos to pipeline #4307

Merged
merged 4 commits into from Dec 22, 2021
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 23 additions & 3 deletions .github/workflows/tests.yml
Expand Up @@ -55,7 +55,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node: ['10', '12']
node: ['10', '12', '17']
name: Node ${{ matrix.node }} (Linux)
steps:
- name: Checkout Commit
Expand All @@ -71,11 +71,31 @@ jobs:
env:
CI: true

macos:
runs-on: macos-latest
strategy:
matrix:
node: ['10', '12', '14', '16', '17']
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you really sure we need all those versions? Not sure in how far this uses up contingents we get from Github, but also, what bugs do you expect to find here except make CI runs potentially slower? IMO it should be enough to do all relevant versions for the fastest OS (which is Linux on CI), which should handle the subtle version differences, and only do the oldest supported and latest supported for MacOS and Windows.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure what the GH actions usage limit for OSS is actually. but as far as I know, modules are usually tested against the latest LTS versions on multiple operating systems. but it's all up to the developer to decide.

testing the earliest supported LTS and the latest supported LTS plus latest version is probably fine tho.
since it's free, and just some settings, I'd personally go for all. it might not apply to rollup (or it might), but there are sometimes some small intricacies between node versions.

name: Node ${{ matrix.node }} (macOS)
steps:
- name: Checkout Commit
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Run tests
run: npm run ci:test:only
env:
CI: true

windows:
runs-on: windows-2019
runs-on: windows-latest
strategy:
matrix:
node: ['10', '16']
node: ['10', '12', '14', '16', '17']
name: Node ${{ matrix.node }} (Windows)
steps:
- name: Configure git line-breaks
Expand Down