Skip to content

Merge pull request #964 from bertdeblock/drop-support-for-npm-v4 #1030

Merge pull request #964 from bertdeblock/drop-support-for-npm-v4

Merge pull request #964 from bertdeblock/drop-support-for-npm-v4 #1030

Workflow file for this run

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
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- run: yarn install
- run: yarn lint
test:
name: "Tests"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: 16.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@v3
- uses: actions/setup-node@v3
with:
node-version: 16.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
- test
- floating
strategy:
fail-fast: false
matrix:
command:
# try:each
- ./node_modules/.bin/ember try:each
# skip-cleanup option
- ./node_modules/.bin/ember try:each --skip-cleanup
# config-path option
- ./node_modules/.bin/ember try:each --config-path='../test/fixtures/dummy-ember-try-config.js'
# both ember-try options
- ./node_modules/.bin/ember try:each --config-path='../test/fixtures/dummy-ember-try-config.js' --skip-cleanup true
# try:ember
- ./node_modules/.bin/ember try:ember '> 4.10.0 < 5.2.0'
- ./node_modules/.bin/ember try:ember '4.9.0' --config-path='../test/fixtures/dummy-ember-try-config.js'
- ./node_modules/.bin/ember try:ember '4.8.3' --skip-cleanup=true
# try:config
- ./node_modules/.bin/ember try:config
- ./node_modules/.bin/ember try:config --config-path='../test/fixtures/dummy-ember-try-config.js'
# try:one <scenario>
- ./node_modules/.bin/ember try:one default
# custom command
- ./node_modules/.bin/ember try:one default --- ember help
# skip-cleanup option
- ./node_modules/.bin/ember try:one default --skip-cleanup
# config-path option
- ./node_modules/.bin/ember try:one test1 --config-path='../test/fixtures/dummy-ember-try-config.js'
# both ember-try options
- ./node_modules/.bin/ember try:one test1 --config-path='../test/fixtures/dummy-ember-try-config.js' --skip-cleanup true
# custom command with options to command
- ./node_modules/.bin/ember try:one default --- ember help --silent
# custom command mixed with ember try's own option
- ./node_modules/.bin/ember try:one default --skip-cleanup --- ember help --silent
# try:reset
- ./node_modules/.bin/ember try:reset
# Environment variables availability
- FOO="5" ./node_modules/.bin/ember try:one default --- ./fail-if-no-foo.sh
- ./node_modules/.bin/ember try:one default --- FOO=5 ./fail-if-no-foo.sh
# Custom, compound commands
- ./node_modules/.bin/ember try:one default --- 'echo 1 && echo 2'
# Environment variables from config
- ./node_modules/.bin/ember try:each --config-path='../test/fixtures/dummy-ember-try-config-different-env-vars.js'
# fs-extra versions 7.x and above caused a regresion
- ./node_modules/.bin/ember try:each --config-path='../test/fixtures/dummy-ember-try-config-fs-extra-scenarios.js'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- name: install deps
run: yarn install
- name: install smoke-test-app deps
# using `npm` to install in the smoke-test-app so that `file:` will be treated
# as a symlink (npm handles `file:../` as symlink, and `yarn` treats it
# as "copy into this directory")
run: npm install
working-directory: smoke-test-app
- run: ${{ matrix.command }}
working-directory: smoke-test-app
npm-smoke-tests:
strategy:
fail-fast: false
matrix:
node: ['16', '18']
name: Smoke Tests (Node v${{ matrix.node }} with npm)
runs-on: ubuntu-latest
timeout-minutes: 20
needs:
- lint
- test
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: install deps
run: yarn install
- name: install smoke-test-app deps
run: npm install
working-directory: smoke-test-app
- run: ./node_modules/.bin/ember try:one test2 --config-path='../test/fixtures/dummy-ember-try-config-with-npm-scenarios.js'
working-directory: smoke-test-app
yarn-smoke-tests:
strategy:
fail-fast: false
matrix:
node: ['16', '18']
name: Smoke Tests (Node v${{ matrix.node }} with yarn)
runs-on: ubuntu-latest
timeout-minutes: 20
needs:
- lint
- test
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: install deps
run: yarn install
- name: install smoke-test-app deps
run: yarn install
working-directory: smoke-test-app
- run: ./node_modules/.bin/ember try:one test2 --config-path='../test/fixtures/dummy-ember-try-config-with-yarn-scenarios.js'
working-directory: smoke-test-app
windows-smoke-tests:
name: Smoke Tests (Windows)
runs-on: windows-latest
timeout-minutes: 20
needs:
- lint
- test
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- name: install deps
run: yarn install
- name: install smoke-test-app deps
run: npm install
working-directory: smoke-test-app
- run: ./node_modules/.bin/ember try:one test2 --config-path='../test/fixtures/dummy-ember-try-config-with-npm-scenarios.js'
working-directory: smoke-test-app