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

chore: have CI for tests across all Os's (manual) while default CI ru… #878

Merged
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .github/workflows/ci-full.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Full CI Pipeline

on: workflow_dispatch
Copy link
Member

Choose a reason for hiding this comment

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

Maybe we could also let the full CI pipeline only run for changes on the main branch instead? This way it does not slow down progress in PRs but still uncovers OS-specific errors.

Copy link
Member Author

Choose a reason for hiding this comment

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

At the moment the full test is not run automatically. Hence one needs to trigger it manually. When doing so once can usually select the branch it should run this action.. this is at least how I have been seeing this working.

Do you mean something else ?
Do you mean we should use on: [push] only and remove pull_request ?

Copy link
Member

Choose a reason for hiding this comment

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

Do you mean something else ?
Do you mean we should use on: [push] only and remove pull_request ?

Exactly, that is what I meant :)

Copy link
Member Author

@danielpeintner danielpeintner Nov 24, 2022

Choose a reason for hiding this comment

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

Makes sense in general! At the moment I would stick to manually triggering because we have issue with macos_latest and windows_latest which we need to solve first.
@relu91 any thoughts?

jobs:
setup-and-test:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
node-version: [14.x, 16.x, 18.x]

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Use Node.js ${{ matrix.os }} ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: npm 7
# npm workspaces requires npm v7 or higher
run: npm i -g npm@7 --registry=https://registry.npmjs.org
- name: Install
run: npm ci

- name: Build
run: npm run build

- name: Test with coverage report
run: npm run coverage:only

- name: Upload to codecov.io
uses: codecov/codecov-action@v2

eslint:
name: eslint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Use Node.js 14
uses: actions/setup-node@v1
with:
node-version: 14

- name: npm 7
# npm workspaces requires npm v7 or higher
run: npm i -g npm@7 --registry=https://registry.npmjs.org

- name: Install
run: npm ci

- name: Lint
run: npm run lint

version_consistency:
name: Check version consistency of packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: install node v14
uses: actions/setup-node@v1
with:
node-version: 14
- name: verify packages version consistency accross sub-modules
run: npm run check:versions

prettier:
name: Check coding style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actionsx/prettier@v2
with:
args: --check .
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:

strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
os: [ubuntu-latest]
node-version: [14.x, 16.x, 18.x]

steps:
Expand Down