Skip to content

chore(deps): update dependency deno to v2.9.6 (#80) #224

chore(deps): update dependency deno to v2.9.6 (#80)

chore(deps): update dependency deno to v2.9.6 (#80) #224

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
pull-requests: read
jobs:
changes:
name: Detect relevant changes
runs-on: ubuntu-latest
outputs:
core: ${{ steps.filter.outputs.core }}
steps:
- name: Checkout code
uses: actions/checkout@v7
- id: filter
uses: dorny/paths-filter@v4
with:
filters: |
core:
- '.github/workflows/ci.yml'
- 'packages/**'
- 'deno.json'
- 'deno.lock'
- 'jsr.json'
lint-check:
name: Lint Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: 2.9.6
cache: true
- name: Run lint checks
run: deno lint
format-check:
name: Format Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: 2.9.6
cache: true
- name: Check code format
run: deno fmt --check
type-check:
name: Type Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: 2.9.6
cache: true
- name: Run type checks
run: deno task check
unit-test:
name: Unit Tests
runs-on: ubuntu-latest
needs: [changes, lint-check, format-check, type-check]
if: needs.changes.outputs.core == 'true'
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: 2.9.6
cache: true
- name: Run tests
run: deno task test:unit
- name: Generate coverage report
run: deno task coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v7
with:
files: ./coverage/lcov.info
fail_ci_if_error: false
test-matrix:
name: Test Matrix
runs-on: ${{ matrix.os }}
needs: [changes, unit-test]
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.changes.outputs.core == 'true'
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
deno-version: [2.5.6]
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: ${{ matrix.deno-version }}
cache: true
- name: Run unit tests
run: deno task test:unit
- name: Run spec tests
# Since we're hitting an external URL, we allow failures here
# to avoid blocking PRs due to network issues.
continue-on-error: true
run: deno task test:spec