From 2c6a7797441cbef5c5820eaa322d66478d264a1f Mon Sep 17 00:00:00 2001 From: dmail Date: Tue, 13 Aug 2024 15:47:46 +0200 Subject: [PATCH] split main workflow in 2 --- .../{main.yml => ci_eslint_and_test.yml} | 20 +----- .github/workflows/ci_test_workspace.yml | 65 +++++++++++++++++++ 2 files changed, 68 insertions(+), 17 deletions(-) rename .github/workflows/{main.yml => ci_eslint_and_test.yml} (76%) create mode 100644 .github/workflows/ci_test_workspace.yml diff --git a/.github/workflows/main.yml b/.github/workflows/ci_eslint_and_test.yml similarity index 76% rename from .github/workflows/main.yml rename to .github/workflows/ci_eslint_and_test.yml index 655f733d24..0e9427d9bb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/ci_eslint_and_test.yml @@ -7,7 +7,7 @@ # - Check linting passes (no eslint error on files) # - Run tests and ensure none is failing -name: main +name: core on: push: @@ -18,6 +18,7 @@ on: - "**/README.md" - "**/md/**" - "**/docs/**" + - "**/packages/independent/workflow/**" pull_request: branches: - "**" @@ -25,6 +26,7 @@ on: - "**/README.md" - "**/md/**" - "**/docs/**" + - "**/packages/independent/workflow/**" jobs: test: @@ -61,23 +63,7 @@ jobs: run: npm install lightningcss-win32-x64-msvc - name: Run ESLint run: npm run eslint - - name: Run packages tests - # env: - # NODE_V8_COVERAGE: .coverage/packages - run: npm run workspace:test - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Run core tests run: npm test env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # - name: Run core tests - # env: - # NODE_V8_COVERAGE: .coverage/core - # run: npm run test -- --coverage - # - name: Upload coverage - # uses: codecov/codecov-action@v2 - # with: - # token: ${{ secrets.CODECOV_TOKEN }} - # files: ./.coverage/coverage.json,./packages/integrity/.coverage/coverage.json,./packages/utils/.coverage/coverage.json - # verbose: true diff --git a/.github/workflows/ci_test_workspace.yml b/.github/workflows/ci_test_workspace.yml new file mode 100644 index 0000000000..922b707eca --- /dev/null +++ b/.github/workflows/ci_test_workspace.yml @@ -0,0 +1,65 @@ +# This file configure a GitHub workflow responsible to perform +# various checks related to the codebase. +# +# For that reason it's runned on every pull request and push to main. +# +# It does the following: +# - Check linting passes (no eslint error on files) +# - Run tests and ensure none is failing + +name: core + +on: + push: + branches: + - main + # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#patterns-to-match-file-paths + paths-ignore: + - "**/README.md" + - "**/md/**" + - "**/docs/**" + pull_request: + branches: + - "**" + paths-ignore: + - "**/README.md" + - "**/md/**" + - "**/docs/**" + +jobs: + test: + strategy: + matrix: + os: [ubuntu-20.04, macos-12, windows-2022] # https://github.com/actions/runner-images + node: [22.3.0] + runs-on: ${{ matrix.os }} + name: test on ${{ matrix.os }} and node ${{ matrix.node }} + env: + CI: true + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + - name: set linux fs limits + if: runner.os == 'Linux' + run: | + sudo sysctl fs.inotify.max_user_watches=524288 + sudo sysctl -p + sudo sh -c "ulimit -n 65536 && exec su $LOGNAME" + ulimit -n + # sudo ulimit should prevent npm link failure + - name: Install node modules + run: npm install + - name: Install playwright + run: npx playwright install-deps + - name: Install certificate # needed for @jsenv/service-worker tests + if: runner.os == 'Linux' # https://docs.github.com/en/actions/learn-github-actions/contexts#runner-context + run: node ./scripts/test/certificate_install.mjs + - name: Fix lightningcss windows + if: runner.os == 'Windows' + run: npm install lightningcss-win32-x64-msvc + - name: Run workspace tests + run: npm run workspace:test + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}