Permalink
Cannot retrieve contributors at this time
133 lines (129 sloc)
3.14 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
github-actions-cache/.github/workflows/workflow.yml
View runs Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 |