Fix CI #4
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: | |
pull_request: | |
branches: | |
- main | |
- releases/** | |
push: | |
branches: | |
- main | |
- releases/** | |
jobs: | |
# Build and unit test | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js 16.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
cache: npm | |
- run: npm ci | |
- name: Prettier Format Check | |
run: npm run format-check | |
- name: ESLint Check | |
run: npm run lint | |
- name: Build & Test | |
run: npm run test | |
# End to end save and restore | |
test-save: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Generate files in working directory | |
shell: bash | |
run: __tests__/create-cache-files.sh ${{ runner.os }} test-cache | |
- name: Generate files outside working directory | |
shell: bash | |
run: __tests__/create-cache-files.sh ${{ runner.os }} ~/test-cache | |
- name: Save cache | |
uses: ./ | |
with: | |
key: test-${{ runner.os }}-${{ github.run_id }} | |
path: | | |
test-cache | |
~/test-cache | |
test-restore: | |
needs: test-save | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Restore cache | |
uses: ./ | |
with: | |
key: test-${{ runner.os }}-${{ github.run_id }} | |
path: | | |
test-cache | |
~/test-cache | |
- name: Verify cache files in working directory | |
shell: bash | |
run: __tests__/verify-cache-files.sh ${{ runner.os }} test-cache | |
- name: Verify cache files outside working directory | |
shell: bash | |
run: __tests__/verify-cache-files.sh ${{ runner.os }} ~/test-cache | |
# End to end with proxy | |
test-proxy-save: | |
runs-on: ubuntu-latest | |
container: | |
image: ubuntu:latest | |
options: --dns 127.0.0.1 | |
services: | |
squid-proxy: | |
image: ubuntu/squid:latest | |
ports: | |
- 3128:3128 | |
env: | |
https_proxy: http://squid-proxy:3128 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Generate files | |
run: __tests__/create-cache-files.sh proxy test-cache | |
- name: Save cache | |
uses: ./ | |
with: | |
key: test-proxy-${{ github.run_id }} | |
path: test-cache | |
test-proxy-restore: | |
needs: test-proxy-save | |
runs-on: ubuntu-latest | |
container: | |
image: ubuntu:latest | |
options: --dns 127.0.0.1 | |
services: | |
squid-proxy: | |
image: ubuntu/squid:latest | |
ports: | |
- 3128:3128 | |
env: | |
https_proxy: http://squid-proxy:3128 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Restore cache | |
uses: ./ | |
with: | |
key: test-proxy-${{ github.run_id }} | |
path: test-cache | |
- name: Verify cache | |
run: __tests__/verify-cache-files.sh proxy test-cache |