diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index a0e603fa..bfb61ea2 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -11,102 +11,129 @@ on: tags: - "*" +concurrency: + group: ci-${{ github.head_ref || github.ref }} + cancel-in-progress: true + jobs: lint: name: "Linting" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: yarn install --frozen-lockfile --non-interactive - - run: yarn lint:js + - run: yarn lint - ember-tests: + ember-default-tests: needs: lint name: "Tests: ubuntu (node@${{ matrix.node-version }})" runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - node-version: ["18"] + node-version: + - 16.14 + - 18 + - 20 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: node-version: ${{ matrix.node-version }} + cache: yarn - run: yarn install --frozen-lockfile --non-interactive - run: yarn test - prefer-native-tests: - needs: ember-tests + prefer-native-ember-default-tests: + needs: ember-default-tests name: "PREFER_NATIVE=true Tests: ubuntu (node@${{ matrix.node-version }})" runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - node-version: ["18"] + node-version: + - 16.14 + - 18 + - 20 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: node-version: ${{ matrix.node-version }} + cache: yarn - run: yarn install --frozen-lockfile --non-interactive - run: PREFER_NATIVE=true yarn test - native-promise-tests: - needs: ember-tests + native-promise-ember-default-tests: + needs: ember-default-tests name: "NATIVE_PROMISE=true Tests: ubuntu (node@${{ matrix.node-version }})" runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - node-version: ["18"] + node-version: + - 16.14 + - 18 + - 20 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: node-version: ${{ matrix.node-version }} - run: yarn install --frozen-lockfile --non-interactive - run: NATIVE_PROMISE=true yarn test node-tests: - needs: ember-tests + needs: ember-default-tests name: "Node Tests: ubuntu (node@${{ matrix.node-version }})" runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - node-version: ["18"] + node-version: + - 16.14 + - 18 + - 20 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: node-version: ${{ matrix.node-version }} - run: yarn install --frozen-lockfile --non-interactive - run: yarn run test:node - - try-scenarios: + + ember-try-scenarios: name: Tests - ${{ matrix.ember-try-scenario }} timeout-minutes: 60 runs-on: ubuntu-latest continue-on-error: ${{ matrix.allow-failure }} - needs: ember-tests + needs: ember-default-tests strategy: fail-fast: true matrix: ember-try-scenario: - - ember-default - ember-lts-3.28 - ember-lts-4.4 - ember-lts-4.8 - ember-release - - ember-beta - - ember-canary - - embroider-safe - - embroider-optimized + allow-failure: [false] + include: + - ember-try-scenario: ember-beta + allow-failure: true + - ember-try-scenario: ember-canary + allow-failure: true + - ember-try-scenario: embroider-safe + allow-failure: true + - ember-try-scenario: embroider-optimized + allow-failure: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 18.x + node-version: 16.14 - name: install dependencies run: yarn install - name: test diff --git a/package.json b/package.json index dc2ddc46..b834df87 100644 --- a/package.json +++ b/package.json @@ -24,10 +24,9 @@ "lint:js": "eslint . --cache", "lint:js:fix": "eslint . --fix", "start": "ember serve", - "test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"", - "test:ember": "ember test", - "test:ember-compatibility": "ember try:each", + "test": "ember test", "test:node": "ember ts:precompile && mocha && ember ts:clean", + "test:all": "yarn run test:node && ember try:each", "prepublishOnly": "ember ts:precompile", "postpublish": "ember ts:clean" }, @@ -112,7 +111,7 @@ "ember-source": ">=3.28.0" }, "engines": { - "node": ">=16.13 || >= 18" + "node": ">=16.14 || >= 18" }, "publishConfig": { "registry": "https://registry.npmjs.org/" @@ -130,7 +129,7 @@ ] }, "volta": { - "node": "10.24.1", + "node": "16.20.2", "yarn": "1.22.10" } } diff --git a/tests/dummy/config/ember-try.js b/tests/dummy/config/ember-try.js index b6917c5f..d71b4f83 100644 --- a/tests/dummy/config/ember-try.js +++ b/tests/dummy/config/ember-try.js @@ -44,7 +44,6 @@ module.exports = async function () { 'ember-source': await getChannelURL('release'), }, }, - allowedToFail: true, }, { name: 'ember-beta',