mirror of
https://github.com/denoland/deno.git
synced 2025-12-23 08:48:24 +00:00
Some checks are pending
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
This commit adds a new "tools/node_compat_tests.js" script that runs "tests/node_compat/node_compat_test.ts" file. Additionally ability to filter tests has been added (that only works if we're not running in CI), that can be enabled like so: ``` $ tools/node_compat_tests.js --filter timers-unref-active ```
88 lines
2.9 KiB
YAML
88 lines
2.9 KiB
YAML
name: node_compat_test
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 10 * * *'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: '${{ matrix.runner }}'
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
runner: ubuntu-latest
|
|
- os: windows
|
|
runner: windows-latest
|
|
- os: darwin
|
|
runner: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Setup Deno
|
|
uses: denoland/setup-deno@v2
|
|
with:
|
|
deno-version: canary
|
|
- name: Install Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: 3.11
|
|
- name: Authenticate with Google Cloud
|
|
uses: google-github-actions/auth@v2
|
|
with:
|
|
project_id: denoland
|
|
credentials_json: '${{ secrets.GCP_SA_KEY }}'
|
|
export_environment_variables: true
|
|
create_credentials_file: true
|
|
- name: Setup gcloud
|
|
uses: google-github-actions/setup-gcloud@v2
|
|
with:
|
|
project_id: denoland
|
|
- name: Run tests
|
|
run: deno -A tools/node_compat_tests.js
|
|
- name: Gzip the report
|
|
run: gzip tests/node_compat/report.json
|
|
- name: Upload the report to dl.deno.land
|
|
run: |-
|
|
gsutil -h "Cache-Control: public, max-age=3600" cp tests/node_compat/report.json.gz gs://dl.deno.land/node-compat-test/$(date +%F)/report-${{matrix.os}}.json.gz
|
|
summary:
|
|
runs-on: ubuntu-latest
|
|
needs: test
|
|
if: ${{ always() }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Setup Deno
|
|
uses: denoland/setup-deno@v2
|
|
- name: Install Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: 3.11
|
|
- name: Authenticate with Google Cloud
|
|
uses: google-github-actions/auth@v2
|
|
with:
|
|
project_id: denoland
|
|
credentials_json: '${{ secrets.GCP_SA_KEY }}'
|
|
export_environment_variables: true
|
|
create_credentials_file: true
|
|
- name: Setup gcloud
|
|
uses: google-github-actions/setup-gcloud@v2
|
|
with:
|
|
project_id: denoland
|
|
- name: Add the day summary to the month summary
|
|
run: deno -A --config tests/config/deno.json tests/node_compat/add_day_summary_to_month_summary.ts
|
|
- name: Gzip the month summary
|
|
run: gzip tests/node_compat/summary.json -k
|
|
- name: Upload the month summary
|
|
run: |-
|
|
gsutil -h "Cache-Control: public, max-age=3600" cp tests/node_compat/summary.json.gz gs://dl.deno.land/node-compat-test/summary-$(date +%Y-%m).json.gz
|
|
- name: Post message to slack channel
|
|
run: deno -A --config tests/config/deno.json tests/node_compat/slack.ts
|
|
env:
|
|
SLACK_TOKEN: ${{ secrets.NODE_COMPAT_SLACK_TOKEN }} # NodeCompat bot
|
|
SLACK_CHANNEL: ${{ secrets.NODE_COMPAT_SLACK_CHANNEL }} # #node-compat channel
|