Starwars #12581
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Main | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
- beta | |
- release | |
- 'release-*' | |
- 'lts-*' | |
tags: | |
- '*' | |
env: | |
TURBO_API: http://127.0.0.1:9080 | |
TURBO_TOKEN: this-is-not-a-secret | |
TURBO_TEAM: myself | |
concurrency: | |
group: ci-${{ github.head_ref || github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
timeout-minutes: 8 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 | |
- uses: ./.github/actions/setup | |
with: | |
restore-lint-caches: true | |
install: true | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Prettier | |
run: pnpm lint:prettier | |
- name: Lint | |
run: pnpm lint | |
- name: Check Uncompiled Packages for TypeScript Compilation Errors | |
run: pnpm check:types | |
special-build-tests: | |
timeout-minutes: 20 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 | |
- uses: ./.github/actions/setup | |
with: | |
restore-broccoli-cache: true | |
install: true | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
with-cert: true | |
- if: | | |
github.event_name == 'pull_request' && ( | |
github.base_ref == 'main' || github.base_ref == 'beta' | |
) | |
name: Enable All In progress features | |
env: | |
EMBER_DATA_FEATURE_OVERRIDE: ENABLE_ALL_OPTIONAL | |
run: pnpm test | |
- if: | | |
github.event_name == 'pull_request' && ( | |
github.base_ref == 'main' || github.base_ref == 'beta' | |
) | |
name: Disabled All In progress features | |
env: | |
EMBER_DATA_FEATURE_OVERRIDE: DISABLE_ALL | |
run: pnpm test | |
- if: | | |
github.event_name == 'pull_request' && ( | |
github.base_ref == 'main' || github.base_ref == 'beta' | |
) | |
name: Remove All Deprecations | |
env: | |
EMBER_DATA_FULL_COMPAT: true | |
run: pnpm test:production | |
browser-tests: | |
timeout-minutes: 22 | |
strategy: | |
fail-fast: false | |
matrix: | |
launcher: [Chrome] # Firefox currently has an issue on ubuntu we cannot replicate on macos 03/29/2023 | |
runs-on: ubuntu-latest | |
name: Test ${{matrix.launcher}} | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 | |
- uses: ./.github/actions/setup | |
with: | |
github-token: ${{ secrets.GH_PACKAGES_ACCESS_TOKEN }} | |
restore-broccoli-cache: true | |
jobs: 2 | |
parallel-build: true | |
with-cert: true | |
install: true | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Check for Test Failure Retry | |
id: retry-test-failures | |
uses: actions/cache/restore@v4 | |
with: | |
path: failed-test-log.txt | |
key: failed-test-log_${{ github.sha }} | |
- name: Development | |
run: timeout $BROWSER_TIMEOUT pnpm run test | |
env: | |
TESTEM_CI_LAUNCHER: ${{ matrix.launcher }} | |
CI: true | |
DEBUG: ${{ secrets.ACTIONS_RUNNER_DEBUG == 'true' && 'engine,socket.io*' }} | |
# DISPLAY_TEST_NAMES: true # uncomment this line to see the test names in the logs | |
FORCE_COLOR: 2 | |
BROWSER_TIMEOUT: 600 # 10 minutes | |
- name: Production | |
id: run-tests-production | |
run: timeout $BROWSER_TIMEOUT pnpm test:production | |
env: | |
TESTEM_CI_LAUNCHER: ${{ matrix.launcher }} | |
CI: true | |
DEBUG: ${{ secrets.ACTIONS_RUNNER_DEBUG == 'true' && 'engine,socket.io*' }} | |
# DISPLAY_TEST_NAMES: true # uncomment this line to see the test names in the logs | |
FORCE_COLOR: 2 | |
BROWSER_TIMEOUT: 600 # 10 minutes | |
- name: Upload testem logs | |
if: ${{ always() && steps.run-tests-production.conclusion != 'skipped' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: client-testem-logs | |
path: './tests/main/testem.log' | |
retention-days: 1 | |
- name: Maybe Cache Failures | |
if: always() | |
uses: actions/cache/save@v4 | |
with: | |
path: failed-test-log.txt | |
key: failed-test-log_${{ github.sha }} | |
- name: Archive Tests Execution File | |
uses: actions/upload-artifact@v4 | |
if: (success() || failure()) && steps.retry-test-failures.outputs.cache-hit != 'true' | |
with: | |
name: tests-execution-file-partition | |
path: 'tests/main/test-execution-*.json' | |
retention-days: 1 | |
lts: | |
needs: [browser-tests] | |
strategy: | |
fail-fast: false | |
matrix: | |
scenario: [ember-lts-4.12, ember-lts-4.8, ember-lts-4.4, ember-lts-3.28] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 | |
- uses: ./.github/actions/setup | |
with: | |
restore-broccoli-cache: true | |
with-cert: true | |
install: true | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Basic tests with ${{ matrix.scenario }} | |
timeout-minutes: 12 | |
env: | |
CI: true | |
run: pnpm test:try-one ${{ matrix.scenario }} -- ember test --test-port=0 | |
releases: | |
timeout-minutes: 12 | |
needs: [browser-tests] | |
if: | | |
github.event_name == 'pull_request' && ( | |
github.base_ref == 'main' || github.base_ref == 'beta' | |
) || github.event_name == 'push' && ( | |
endsWith(github.ref, '/main') || endsWith(github.ref, '/beta') | |
) | |
strategy: | |
fail-fast: false | |
matrix: | |
release: [ember-canary, ember-beta] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 | |
- uses: ./.github/actions/setup | |
with: | |
restore-broccoli-cache: true | |
with-cert: true | |
install: true | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Basic tests with ${{ matrix.release }} | |
env: | |
CI: true | |
run: pnpm test:try-one ${{ matrix.release }} -- ember test --test-port=0 |