name: (experimental) Ember CLI tests (core) on: pull_request: push: branches: - main concurrency: group: ember-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }} cancel-in-progress: true jobs: build: name: run runs-on: ubuntu-latest container: discourse/discourse_test:release timeout-minutes: 60 strategy: fail-fast: false matrix: browser: ["Chrome", "Firefox", "Headless Firefox"] steps: - uses: actions/checkout@master with: fetch-depth: 1 - name: Setup Git run: | git config --global user.email "ci@ci.invalid" git config --global user.name "Discourse CI" - name: Get yarn cache directory id: yarn-cache-dir run: echo "::set-output name=dir::$(yarn cache dir)" - name: Yarn cache uses: actions/cache@v2 id: yarn-cache with: path: ${{ steps.yarn-cache-dir.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Yarn install working-directory: ./app/assets/javascripts/discourse run: yarn install - name: Ember Build working-directory: ./app/assets/javascripts/discourse run: | sudo -E -u discourse mkdir /tmp/emberbuild sudo -E -u discourse -H yarn ember build --environment=test -o /tmp/emberbuild - name: Core QUnit 1 working-directory: ./app/assets/javascripts/discourse run: sudo -E -u discourse -H yarn ember exam --path /tmp/emberbuild --split=3 --partition=1 --launch "${{ matrix.browser }}" timeout-minutes: 60 - name: Core QUnit 2 working-directory: ./app/assets/javascripts/discourse run: sudo -E -u discourse -H yarn ember exam --path /tmp/emberbuild --split=3 --partition=2 --launch "${{ matrix.browser }}" timeout-minutes: 60 - name: Core QUnit 3 working-directory: ./app/assets/javascripts/discourse run: sudo -E -u discourse -H yarn ember exam --path /tmp/emberbuild --split=3 --partition=3 --launch "${{ matrix.browser }}" timeout-minutes: 60