feat: add built-in caching via inputs #190
Workflow file for this run
This file contains hidden or 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" | |
| - "lts" | |
| 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 --no-config -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 --no-config -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: ${{ 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 src/main.ts | |
| build-diff: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Deno | |
| uses: ./ | |
| with: | |
| deno-version: "rc" | |
| - name: Build code | |
| run: deno run -A scripts/build.ts | |
| - name: Assert no git changes (run `deno task build` if this fails) | |
| run: git diff --quiet |