feat: add built-in caching via inputs #160
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: test | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-latest | |
deno: | |
- "1.x" | |
- "2.x" | |
- "1.33.1" | |
- "canary" | |
- "~1.32" | |
- "b290fd01f3f5d32f9d010fc719ced0240759c049" | |
- "rc" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Deno | |
uses: ./ | |
with: | |
deno-version: ${{ matrix.deno }} | |
- name: Test Deno | |
run: deno run https://deno.land/[email protected]/examples/welcome.ts | |
- name: Test `deno install -g` (2.0) | |
if: matrix.deno == 'canary' || matrix.deno == 'latest' | |
run: | | |
deno install -g --allow-net -n deno_curl https://deno.land/[email protected]/examples/curl.ts | |
deno_curl https://deno.land/[email protected]/examples/curl.ts | |
- name: Test `deno install (1.0) | |
if: matrix.deno == '1.x' || matrix.deno == '1.33.1' || matrix.deno == '~1.32' || matrix.deno == 'b290fd01f3f5d32f9d010fc719ced0240759c049' | |
run: | | |
deno install --allow-net -n deno_curl https://deno.land/[email protected]/examples/curl.ts | |
deno_curl https://deno.land/[email protected]/examples/curl.ts | |
test-version-file: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
deno-version-file: [.dvmrc, .tool-versions] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Deno | |
uses: ./ | |
with: | |
deno-version-file: ${{ matrix.deno-version-file }} | |
- name: Check version | |
run: deno -V | grep -q "deno 1\.43\.1" | |
test-binary-name: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Deno | |
uses: ./ | |
with: | |
deno-binary-name: deno_foo | |
- name: Check binary exists | |
run: deno_foo -V | |
test-setup-cache: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Deno | |
uses: ./ | |
with: | |
cache: true | |
cache-hash: bar-${{ hashFiles('**/package-lock.json') }} | |
- name: Download dependencies for cache | |
run: deno install --global npm:[email protected] | |
test-cache: | |
needs: test-setup-cache | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Deno | |
uses: ./ | |
with: | |
cache: true | |
cache-hash: ${{ hashFiles('**/package-lock.json') }} | |
- name: Run with cached dependencies | |
run: deno run --cached-only -RE npm:[email protected] "It works!" | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Deno | |
uses: ./ | |
with: | |
deno-version: "rc" | |
- name: Lint | |
run: deno lint | |
- name: Format | |
run: deno fmt --check | |
- name: Check types | |
run: deno check main.mjs |