mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 15:04:11 -05:00
tests: fix wpt epoch ci job (#10960)
This commit is contained in:
parent
c651757fb7
commit
f48d66b2b0
9 changed files with 29 additions and 23 deletions
14
.github/workflows/wpt_epoch.yml
vendored
14
.github/workflows/wpt_epoch.yml
vendored
|
@ -19,7 +19,7 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
deno-version: [v1.x, canary]
|
deno-version: [v1.x, canary]
|
||||||
os: [macOS-latest, ubuntu-latest-xl, windows-2019]
|
os: [ubuntu-latest-xl]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone repository
|
- name: Clone repository
|
||||||
|
@ -46,7 +46,12 @@ jobs:
|
||||||
|
|
||||||
- name: Switch WPT submodule to epochs/daily
|
- name: Switch WPT submodule to epochs/daily
|
||||||
working-directory: test_util/wpt/
|
working-directory: test_util/wpt/
|
||||||
run: git reset origin/epochs/daily --hard
|
shell: bash
|
||||||
|
run: |
|
||||||
|
git remote set-branches origin '*'
|
||||||
|
git fetch origin
|
||||||
|
git checkout origin/epochs/daily
|
||||||
|
git checkout -b epochs/daily
|
||||||
|
|
||||||
- name: Configure hosts file for WPT (unix)
|
- name: Configure hosts file for WPT (unix)
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
|
@ -62,8 +67,11 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
deno run --unstable --allow-write --allow-read --allow-net --allow-env --allow-run ./tools/wpt.ts setup
|
deno run --unstable --allow-write --allow-read --allow-net --allow-env --allow-run ./tools/wpt.ts setup
|
||||||
deno run --unstable --allow-write --allow-read --allow-net --allow-env --allow-run ./tools/wpt.ts run --binary=(which deno) --quiet --release --json=wpt.json --wptreport=wptreport.json || true
|
deno run --unstable --allow-write --allow-read --allow-net --allow-env --allow-run ./tools/wpt.ts run --binary=$(which deno) --quiet --release --json=wpt.json --wptreport=wptreport.json || true
|
||||||
|
|
||||||
- name: Upload wpt results to wpt.fyi
|
- name: Upload wpt results to wpt.fyi
|
||||||
|
env:
|
||||||
|
WPT_FYI_STAGING_USER: ${{ secrets.WPT_FYI_STAGING_USER }}
|
||||||
|
WPT_FYI_STAGING_PW: ${{ secrets.WPT_FYI_STAGING_PW }}
|
||||||
run: |
|
run: |
|
||||||
deno run -A ./tools/upload_wptfyi.js wptreport.json --from-raw-file
|
deno run -A ./tools/upload_wptfyi.js wptreport.json --from-raw-file
|
||||||
|
|
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -29,3 +29,7 @@ cli/tests/.test_coverage/
|
||||||
# Flamegraphs
|
# Flamegraphs
|
||||||
/flamebench*.svg
|
/flamebench*.svg
|
||||||
/flamegraph*.svg
|
/flamegraph*.svg
|
||||||
|
|
||||||
|
# WPT generated cert files
|
||||||
|
/tools/wpt/certs/index.txt*
|
||||||
|
/tools/wpt/certs/serial*
|
||||||
|
|
7
.gitmodules
vendored
7
.gitmodules
vendored
|
@ -2,11 +2,10 @@
|
||||||
path = third_party
|
path = third_party
|
||||||
url = https://github.com/denoland/deno_third_party.git
|
url = https://github.com/denoland/deno_third_party.git
|
||||||
shallow = true
|
shallow = true
|
||||||
[submodule "test_util/wpt"]
|
|
||||||
path = test_util/wpt
|
|
||||||
url = https://github.com/web-platform-tests/wpt.git
|
|
||||||
shallow = true
|
|
||||||
[submodule "test_util/std"]
|
[submodule "test_util/std"]
|
||||||
path = test_util/std
|
path = test_util/std
|
||||||
url = https://github.com/denoland/deno_std
|
url = https://github.com/denoland/deno_std
|
||||||
shallow = true
|
shallow = true
|
||||||
|
[submodule "test_util/wpt"]
|
||||||
|
path = test_util/wpt
|
||||||
|
url = https://github.com/web-platform-tests/wpt.git
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 146f12e8df2cac6b1e60152145124a81dad60d38
|
Subproject commit a8e5772a0f1c4d666acc5aee2423c38da7c9a71c
|
16
tools/wpt.ts
16
tools/wpt.ts
|
@ -80,27 +80,27 @@ More details at https://deno.land/manual@main/contributing/web_platform_tests
|
||||||
}
|
}
|
||||||
|
|
||||||
async function setup() {
|
async function setup() {
|
||||||
|
const hostsPath = Deno.build.os == "windows"
|
||||||
|
? `${Deno.env.get("SystemRoot")}\\System32\\drivers\\etc\\hosts`
|
||||||
|
: "/etc/hosts";
|
||||||
// TODO(lucacsonato): use this when 1.7.1 is released.
|
// TODO(lucacsonato): use this when 1.7.1 is released.
|
||||||
// const records = await Deno.resolveDns("web-platform.test", "A");
|
// const records = await Deno.resolveDns("web-platform.test", "A");
|
||||||
// const etcHostsConfigured = records[0] == "127.0.0.1";
|
// const etcHostsConfigured = records[0] == "127.0.0.1";
|
||||||
const hostsFile = await Deno.readTextFile("/etc/hosts");
|
const hostsFile = await Deno.readTextFile(hostsPath);
|
||||||
const etcHostsConfigured = hostsFile.includes("web-platform.test");
|
const etcHostsConfigured = hostsFile.includes("web-platform.test");
|
||||||
|
|
||||||
if (etcHostsConfigured) {
|
if (etcHostsConfigured) {
|
||||||
console.log("/etc/hosts is already configured.");
|
console.log(hostsPath + " is already configured.");
|
||||||
} else {
|
} else {
|
||||||
const autoConfigure = autoConfig ||
|
const autoConfigure = autoConfig ||
|
||||||
confirm(
|
confirm(
|
||||||
"The WPT require certain entries to be present in your /etc/hosts file. Should these be configured automatically?",
|
`The WPT require certain entries to be present in your ${hostsPath} file. Should these be configured automatically?`,
|
||||||
);
|
);
|
||||||
if (autoConfigure) {
|
if (autoConfigure) {
|
||||||
const proc = runPy(["wpt", "make-hosts-file"], { stdout: "piped" });
|
const proc = runPy(["wpt", "make-hosts-file"], { stdout: "piped" });
|
||||||
const status = await proc.status();
|
const status = await proc.status();
|
||||||
assert(status.success, "wpt make-hosts-file should not fail");
|
assert(status.success, "wpt make-hosts-file should not fail");
|
||||||
const entries = new TextDecoder().decode(await proc.output());
|
const entries = new TextDecoder().decode(await proc.output());
|
||||||
const hostsPath = Deno.build.os == "windows"
|
|
||||||
? `${Deno.env.get("SystemRoot")}\\System32\\drivers\\etc\\hosts`
|
|
||||||
: "/etc/hosts";
|
|
||||||
const file = await Deno.open(hostsPath, { append: true }).catch((err) => {
|
const file = await Deno.open(hostsPath, { append: true }).catch((err) => {
|
||||||
if (err instanceof Deno.errors.PermissionDenied) {
|
if (err instanceof Deno.errors.PermissionDenied) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
|
@ -116,9 +116,9 @@ async function setup() {
|
||||||
"\n\n# Configured for Web Platform Tests (Deno)\n" + entries,
|
"\n\n# Configured for Web Platform Tests (Deno)\n" + entries,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
console.log("Updated /etc/hosts");
|
console.log(`Updated ${hostsPath}`);
|
||||||
} else {
|
} else {
|
||||||
console.log("Please configure the /etc/hosts entries manually.");
|
console.log(`Please configure the ${hostsPath} entries manually.`);
|
||||||
if (Deno.build.os == "windows") {
|
if (Deno.build.os == "windows") {
|
||||||
console.log("To do this run the following command in PowerShell:");
|
console.log("To do this run the following command in PowerShell:");
|
||||||
console.log("");
|
console.log("");
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
026677
|
|
|
@ -1,11 +1,6 @@
|
||||||
{
|
{
|
||||||
"check_subdomains": false,
|
"check_subdomains": false,
|
||||||
"ssl": {
|
"ssl": {
|
||||||
"type": "openssl",
|
"type": "pregenerated"
|
||||||
"openssl": {
|
|
||||||
"duration": 365,
|
|
||||||
"force_regenerate": false,
|
|
||||||
"base_path": "../../tools/wpt/certs"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,6 +144,7 @@ export async function checkPy3Available() {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function cargoBuild() {
|
export async function cargoBuild() {
|
||||||
|
if (binary) return;
|
||||||
const proc = Deno.run({
|
const proc = Deno.run({
|
||||||
cmd: ["cargo", "build", ...(release ? ["--release"] : [])],
|
cmd: ["cargo", "build", ...(release ? ["--release"] : [])],
|
||||||
cwd: ROOT_PATH,
|
cwd: ROOT_PATH,
|
||||||
|
|
Loading…
Reference in a new issue