diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5e1b93b2..c8f86ffd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,10 +3,15 @@ name: CI on: push: branches: + - main - master - 'v*' pull_request: {} +concurrency: + group: ci-${{ github.head_ref || github.ref }} + cancel-in-progress: true + jobs: lint: name: Lint @@ -20,41 +25,48 @@ jobs: - run: yarn install - run: yarn lint - - tests: - name: Tests + test: + name: "Tests" runs-on: ubuntu-latest + timeout-minutes: 10 steps: - - uses: actions/checkout@v1 - - uses: actions/setup-node@v1 + - uses: actions/checkout@v3 + - name: Install Node + uses: actions/setup-node@v3 with: - node-version: 14 - - - run: yarn install - - run: yarn node-test-with-coverage - - floating-deps: - name: Tests (floating dependencies) + node-version: 14.x + cache: yarn + - name: Install Dependencies + run: yarn install --frozen-lockfile + - name: Run Tests + run: yarn node-test-with-coverage + + floating: + name: "Floating Dependencies" runs-on: ubuntu-latest + timeout-minutes: 10 steps: - - uses: actions/checkout@v1 - - uses: actions/setup-node@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: - node-version: 14 - - - run: yarn install --no-lockfile - - run: yarn node-test + node-version: 14.x + cache: yarn + - name: Install Dependencies + run: yarn install --no-lockfile + - name: Run Tests + run: yarn node-test all-commands-smoke-tests: name: Tests (commands smoke test) runs-on: ubuntu-latest + timeout-minutes: 20 needs: - lint - - tests - - floating-deps + - test + - floating strategy: fail-fast: false @@ -143,10 +155,11 @@ jobs: name: Smoke Tests (Node v${{ matrix.node }} with npm) runs-on: ubuntu-latest + timeout-minutes: 20 needs: - lint - - tests + - test steps: - uses: actions/checkout@v1 @@ -169,10 +182,11 @@ jobs: name: Smoke Tests (Node v${{ matrix.node }} with yarn) runs-on: ubuntu-latest + timeout-minutes: 20 needs: - lint - - tests + - test steps: - uses: actions/checkout@v1 @@ -191,10 +205,11 @@ jobs: windows-smoke-tests: name: Smoke Tests (Windows) runs-on: windows-latest + timeout-minutes: 20 needs: - lint - - tests + - test steps: - uses: actions/checkout@v1