diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ff472ce5..2be207da1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,26 +1,32 @@ name: "CI" on: [push, pull_request] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: test: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, macos-latest, windows-latest] node-version: - 18.x - 20.x + - 22.x steps: - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Ensure line endings are consistent run: git config --global core.autocrlf input - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Load cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | **/node_modules @@ -34,7 +40,7 @@ jobs: - name: Run browser tests run: yarn run test-browser - name: Submit coverage results - uses: coverallsapp/github-action@master + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.github_token }} flag-name: run-${{ matrix.node-version }} @@ -45,7 +51,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Consolidate test coverage from different jobs - uses: coverallsapp/github-action@master + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.github_token }} parallel-finished: true @@ -54,13 +60,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Use Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: '18.x' + node-version: 18.x - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Load cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: '**/node_modules' key: ${{ runner.os }}-lint-modules-v1-${{ hashFiles('**/yarn.lock') }} @@ -76,13 +82,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Use Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: '18.x' + node-version: 18.x - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Load cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: '**/node_modules' key: ${{ runner.os }}-docker-modules-v1-${{ hashFiles('**/yarn.lock') }} @@ -103,13 +109,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Use Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: '18.x' + node-version: 18.x - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Load cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: '**/node_modules' key: ${{ runner.os }}-docs-modules-v1-${{ hashFiles('**/yarn.lock') }} @@ -132,13 +138,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Use Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: '18.x' + node-version: 18.x - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Load cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: '**/node_modules' key: ${{ runner.os }}-webclients-modules-v1-${{ hashFiles('**/yarn.lock') }}