feat(net/unstable): add matchSubnets on @std/net #17849
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: ci | |
permissions: | |
contents: write | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
permissions: | |
id-token: write # Required for deployctl | |
strategy: | |
fail-fast: false | |
matrix: | |
deno: | |
- v1.x | |
- v2.x | |
- canary | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macOS-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v5 | |
- name: Set up Deno | |
uses: denoland/setup-deno@v2 | |
with: | |
deno-version: ${{ matrix.deno }} | |
cache: true | |
- name: Run tests | |
run: | | |
deno task test | |
deno task test:with-unsafe-proto | |
- name: Run timezone-dependent tests | |
run: | | |
TZ=Australia/Sydney deno test datetime | |
TZ=Europe/London deno test datetime | |
TZ=America/Toronto deno test datetime | |
if: matrix.os == 'ubuntu-latest' | |
- name: Type check browser compatible modules | |
run: deno task test:browser | |
if: matrix.deno == 'v2.x' && matrix.os == 'ubuntu-latest' | |
- name: Publish dry run | |
run: deno publish --dry-run | |
if: matrix.deno == 'canary' && matrix.os == 'ubuntu-latest' | |
- name: Upload coverage | |
uses: codecov/codecov-action@v5 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
files: ./coverage/lcov.info | |
name: ${{ matrix.os }}-${{ matrix.deno }} | |
- name: Upload coverage to Deploy | |
uses: denoland/deployctl@v1 | |
with: | |
project: std-coverage | |
root: coverage/html | |
entrypoint: jsr:@std/http@1/file-server | |
if: matrix.deno == 'canary' && matrix.os == 'ubuntu-latest' && github.event_name == 'push' | |
test-node: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
node: | |
# TODO(kt3k): change this back to latest when the issue below resolved | |
# https://github.com/nodejs/node/issues/58826 | |
- 24.2.0 | |
os: | |
- ubuntu-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v5 | |
- name: Set up Deno | |
uses: denoland/setup-deno@v2 | |
with: | |
cache: true | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Run tests | |
run: deno task test:node | |
test-bun: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
bun: | |
- latest | |
os: | |
- ubuntu-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v5 | |
- name: Set up Deno | |
uses: denoland/setup-deno@v2 | |
with: | |
cache: true | |
- name: Set up Bun | |
uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: ${{ matrix.bun }} | |
- name: Run tests | |
run: deno task test:bun | |
lint: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v5 | |
with: | |
persist-credentials: false | |
- name: Set up Deno | |
uses: denoland/setup-deno@v2 | |
with: | |
deno-version: canary | |
cache: true | |
- name: Format | |
run: deno fmt --check | |
- name: Lint | |
run: deno task lint | |
- name: Spell-check | |
uses: crate-ci/typos@master | |
if: matrix.os == 'ubuntu-latest' | |
with: | |
config: ./.github/typos.toml | |
wasm: | |
name: wasm | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
module: [crypto/_wasm] | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v5 | |
with: | |
# required to check for changes | |
fetch-depth: 2 | |
persist-credentials: false | |
- name: Check for changes | |
id: source | |
run: |- | |
set -o errexit | |
shopt -s inherit_errexit | |
declare modifications="$(git diff --name-only HEAD~ -- ${{ matrix.module }})" | |
declare modified="$([[ "$modifications" ]] && echo true || echo false)" | |
echo "modified=$modified" >> $GITHUB_OUTPUT | |
echo "${{ matrix.module }} Wasm source modified in this commit? $modified" | |
echo "$modifications" | |
- name: Set up Deno | |
uses: denoland/setup-deno@v2 | |
if: success() && steps.source.outputs.modified == 'true' | |
with: | |
cache: true | |
- name: Set up Rust | |
uses: hecrj/setup-rust-action@v2 | |
if: success() && steps.source.outputs.modified == 'true' | |
with: | |
# This must match the version in _wasm/rust-toolchain.toml of the module folder | |
rust-version: 1.85.0 | |
targets: wasm32-unknown-unknown | |
components: rustfmt | |
- name: Rebuild Wasm and verify it hasn't changed | |
if: success() && steps.source.outputs.modified == 'true' | |
run: deno task --cwd ${{ matrix.module }} --config deno.json wasmbuild --check |