refactor(yaml): simplify and rename dropEndingNewline()
#13094
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: ci | |
permissions: | |
contents: write | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
deno: | |
- v1.x | |
# TODO(iuioiua): Re-enable once workspaces functionality is fixed in canary | |
# See: https://github.com/denoland/deno/issues/24422 | |
# - canary | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macOS-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Set up Deno | |
uses: denoland/setup-deno@v1 | |
with: | |
deno-version: ${{ matrix.deno }} | |
- name: Run tests | |
run: deno task test | |
- name: Run tests (simulate Deno 2) | |
if: matrix.deno == 'canary' | |
run: deno task test | |
env: | |
DENO_FUTURE: 1 | |
- 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 | |
shell: bash | |
run: deno task test:browser | |
- name: Generate lcov | |
run: deno task cov:gen | |
- name: Upload coverage | |
uses: codecov/codecov-action@v4 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
name: ${{ matrix.os }}-${{ matrix.deno }} | |
test-node: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
node: | |
- latest | |
os: | |
- ubuntu-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Set up Deno | |
uses: denoland/setup-deno@v1 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- run: npm install | |
working-directory: _tools/node_test_runner | |
- name: Run tests | |
run: deno task test:node | |
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@v4 | |
with: | |
persist-credentials: false | |
- name: Set up Deno | |
uses: denoland/setup-deno@v1 | |
with: | |
# TODO(iuioiua): Revert once workspaces functionality is fixed in canary | |
# See: https://github.com/denoland/deno/issues/24422 | |
# deno-version: canary | |
deno-version: v1.x | |
- 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@v4 | |
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@v1 | |
if: success() && steps.source.outputs.modified == '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.77.2 | |
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 | |
publish-dry-run: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Set up Deno | |
uses: denoland/setup-deno@v1 | |
with: | |
# TODO(iuioiua): Revert once workspaces functionality is fixed in canary | |
# See: https://github.com/denoland/deno/issues/24422 | |
# deno-version: canary | |
deno-version: v1.x | |
- name: Publish (dry run) | |
run: deno publish --dry-run |