diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c82cd46c6..52edc40eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,49 +12,51 @@ on: branches: - master schedule: - - cron: '0 3 * * 0' # every Sunday at 3am + - cron: "0 3 * * 0" # every Sunday at 3am env: CI: true +concurrency: + group: ci-${{ github.head_ref || github.ref }} + cancel-in-progress: true + jobs: tests: if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')" name: Base Tests - timeout-minutes: 60 + timeout-minutes: 10 runs-on: ubuntu-latest strategy: matrix: node: - - "12" - - "14" + - "12" + - "14" steps: - - uses: actions/checkout@v2 - with: - persist-credentials: false - - name: Reconfigure git to use HTTP authentication - run: > - git config --global url."https://github.com/".insteadOf - ssh://git@github.com/ - - uses: volta-cli/action@v1 - with: - node-version: ${{ matrix.node }} - - - run: npm ci - - - name: Test with ${{ matrix.node }} - run: npm run test + - uses: actions/checkout@v2 + with: + persist-credentials: false + - name: Reconfigure git to use HTTP authentication + run: > + git config --global url."https://github.com/".insteadOf + ssh://git@github.com/ + - uses: volta-cli/action@v1 + with: + node-version: ${{ matrix.node }} + + - run: npm ci + + - name: Ember Test with ${{ matrix.node }} + run: npm run test:ember + + - name: Node Tests with Node ${{ matrix.node }} + run: npm run nodetest floating-dependencies: - if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')" name: Floating Dependencies - timeout-minutes: 60 + timeout-minutes: 10 runs-on: ubuntu-latest - strategy: - matrix: - node: - - "12" - - "14" + needs: tests steps: - uses: actions/checkout@v2 @@ -66,20 +68,21 @@ jobs: ssh://git@github.com/ - uses: volta-cli/action@v1 with: - node-version: ${{ matrix.node }} + node-version: 14 - - run: npm install + - run: npm install --lock-file=false + + - name: Ember Tests + run: npm run test:ember - - name: Test with Node ${{ matrix.node }} - run: npm run test + - name: Node Tests + run: npm run nodetest try-scenarios: - if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')" name: "Compatibility" - timeout-minutes: 60 + timeout-minutes: 10 runs-on: ubuntu-latest needs: tests - strategy: fail-fast: true matrix: @@ -88,10 +91,9 @@ jobs: - ember-lts-3.20 - ember-release - ember-beta - # - ember-canary - - node-tests + - ember-canary - embroider-safe - # - ember-classic + steps: - uses: actions/checkout@v2 with: @@ -108,7 +110,6 @@ jobs: - name: test run: node_modules/.bin/ember try:one ${{ matrix.ember-try-scenario }} --skip-cleanup - publish: name: Release runs-on: ubuntu-latest