Format .github Directory #2120
Workflow file for this run
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: Cache Package Tests | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
jobs: | |
test: | |
name: Test | |
runs-on: ${{ matrix.runs-on }} | |
strategy: | |
matrix: | |
runs-on: | |
- ubuntu-latest | |
- windows-latest | |
- macos-latest | |
fail-fast: false | |
steps: | |
- name: Checkout | |
id: checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
id: setup-node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
# In order to save & restore cache from a shell script, certain env | |
# variables need to be set that are only available in the node context. | |
# This runs a local action that gets and sets the necessary env variables. | |
- name: Set env Variables | |
id: set-env-variables | |
uses: ./packages/cache/__tests__/__fixtures__/ | |
# Need root node_modules because certain npm packages like jest are | |
# configured for the entire repository and it won't be possible without | |
# these to just compile the cache package. | |
- name: Install Packages | |
id: install | |
run: npm ci | |
- name: Compile Package | |
id: compile | |
run: | | |
npm ci | |
npm run tsc | |
working-directory: packages/cache | |
- name: Generate Files in Working Directory | |
id: generate-files-in-cwd | |
shell: bash | |
run: ./packages/cache/__tests__/create-cache-files.sh ${{ runner.os }} test-cache | |
- name: Generate Files Outside Working Directory | |
id: generate-files-out-cwd | |
shell: bash | |
run: ./packages/cache/__tests__/create-cache-files.sh ${{ runner.os }} ~/test-cache | |
# We're using node -e to call the functions directly available in the | |
# @actions/cache package. | |
- name: Save Cache with saveCache() | |
id: save-cache | |
run: | | |
node -e "Promise.resolve(require('./packages/cache/lib/cache').saveCache(['test-cache','~/test-cache'],'test-${{ runner.os }}-${{ github.run_id }}'))" | |
- name: Delete Cache Folders | |
id: delete-folders-1 | |
shell: bash | |
run: | | |
rm -rf test-cache | |
rm -rf ~/test-cache | |
- name: Restore Cache (restoreCache() with http-client) | |
id: restore-http | |
run: | | |
node -e "Promise.resolve(require('./packages/cache/lib/cache').restoreCache(['test-cache','~/test-cache'],'test-${{ runner.os }}-${{ github.run_id }}',[],{useAzureSdk: false}))" | |
- name: Verify Cache (http-client) | |
id: verify-http | |
shell: bash | |
run: | | |
./packages/cache/__tests__/verify-cache-files.sh ${{ runner.os }} test-cache | |
./packages/cache/__tests__/verify-cache-files.sh ${{ runner.os }} ~/test-cache | |
- name: Delete Cache Folders | |
id: delete-cache-2 | |
shell: bash | |
run: | | |
rm -rf test-cache | |
rm -rf ~/test-cache | |
- name: Restore Cache (restoreCache() with Azure SDK) | |
id: restore-azure | |
run: | | |
node -e "Promise.resolve(require('./packages/cache/lib/cache').restoreCache(['test-cache','~/test-cache'],'test-${{ runner.os }}-${{ github.run_id }}'))" | |
- name: Verify Cache (Azure SDK) | |
id: verify-azure | |
shell: bash | |
run: | | |
./packages/cache/__tests__/verify-cache-files.sh ${{ runner.os }} test-cache | |
./packages/cache/__tests__/verify-cache-files.sh ${{ runner.os }} ~/test-cache |