Merge pull request #308 from actions/aiyan/v1-release #1
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: | |
- master | |
- releases/** | |
paths-ignore: | |
- '**.md' | |
push: | |
branches: | |
- master | |
- releases/** | |
paths-ignore: | |
- '**.md' | |
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@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: '12.x' | |
- name: Determine npm cache directory | |
id: npm-cache | |
run: | | |
echo "::set-output name=dir::$(npm config get cache)" | |
- name: Restore npm cache | |
uses: actions/cache@v1 | |
with: | |
path: ${{ steps.npm-cache.outputs.dir }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- 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@v2 | |
- name: Generate files | |
shell: bash | |
run: __tests__/create-cache-files.sh ${{ runner.os }} | |
- name: Save cache | |
uses: ./ | |
with: | |
key: test-${{ runner.os }}-${{ github.run_id }} | |
path: 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@v2 | |
- name: Restore cache | |
uses: ./ | |
with: | |
key: test-${{ runner.os }}-${{ github.run_id }} | |
path: test-cache | |
- name: Verify cache | |
shell: bash | |
run: __tests__/verify-cache-files.sh ${{ runner.os }} | |
# 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: datadog/squid:latest | |
ports: | |
- 3128:3128 | |
env: | |
https_proxy: http://squid-proxy:3128 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Generate files | |
run: __tests__/create-cache-files.sh proxy | |
- 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: datadog/squid:latest | |
ports: | |
- 3128:3128 | |
env: | |
https_proxy: http://squid-proxy:3128 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Restore cache | |
uses: ./ | |
with: | |
key: test-proxy-${{ github.run_id }} | |
path: test-cache | |
- name: Verify cache | |
run: __tests__/verify-cache-files.sh proxy |