Rewrite of TPS integrations using basic bash scripts (#3090) #5644
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: Tests | |
on: | |
[push, workflow_dispatch] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [16.x] | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: yarn | |
- run: yarn --immutable --network-timeout 1000000 | |
- name: unit tests | |
run: yarn test | |
- name: linting | |
run: yarn lint | |
integration: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [16.x] | |
os: [ubuntu-latest] | |
environment: AcceptanceTests | |
env: | |
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }} | |
ENABLE_NET_CONNECT: true | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: yarn | |
- run: yarn --immutable --network-timeout 1500000 | |
- name: Run cli package integration tests | |
run: | | |
cd packages/cli | |
yarn test:integration | |
acceptance: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [16.x] | |
os: [ubuntu-latest] | |
environment: AcceptanceTests | |
env: | |
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }} | |
ENABLE_NET_CONNECT: true | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: yarn | |
- run: yarn --immutable --network-timeout 1000000 | |
# on 'main' and 'release-' branches, these tests will be run as part of the acceptance tests. | |
- name: run smoke tests | |
if: github.ref_name != 'main' || !startsWith(github.ref_name, 'release-') | |
run: cd packages/cli && yarn test:smoke | |
# only run the full suite of acceptance tests on 'main' and 'release-' branches | |
- name: run acceptance tests | |
if: github.ref_name == 'main' || startsWith(github.ref_name, 'release-') | |
run: cd packages/cli && yarn test:acceptance | |
spell-check: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [16.x] | |
os: [ubuntu-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: yarn add [email protected] | |
- name: Run spell check on changed files | |
run: | | |
git fetch origin main:refs/remotes/origin/main --quiet | |
git diff origin/main...HEAD --diff-filter=d --name-only | yarn run cspell --no-progress --gitignore --no-must-find-files --file-list stdin | |
# dummy job needed to pass changeling compliance because it only watches one build | |
done: | |
runs-on: macos-latest | |
needs: [test, integration, acceptance] | |
steps: | |
- run: echo done | |
working-directory: / |