-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
103 lines (96 loc) · 3.73 KB
/
Copy pathjustfile
File metadata and controls
103 lines (96 loc) · 3.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# CI job bodies; recipe-specific rationale lives in the root justfile.
set working-directory := '..'
# Wrap one recipe in a GitHub Actions log group (plain passthrough
# locally).
[private]
_step recipe:
#!/usr/bin/env bash
set -euo pipefail
if [ "${GITHUB_ACTIONS:-}" = "true" ]; then
echo "::group::just {{recipe}}"
status=0
just {{recipe}} || status=$?
echo "::endgroup::"
if [ $status -ne 0 ]; then
echo "::error title=just {{recipe}} failed::exit status $status"
exit $status
fi
else
just {{recipe}}
fi
# Like _step, but report failures as warnings rather than failing the job.
[private]
_step-tolerated recipe:
#!/usr/bin/env bash
set -euo pipefail
if [ "${GITHUB_ACTIONS:-}" = "true" ]; then
echo "::group::just {{recipe}} (non-blocking)"
status=0
just {{recipe}} || status=$?
echo "::endgroup::"
if [ $status -ne 0 ]; then
echo "::warning title=just {{recipe}} (non-blocking)::exit status $status — tolerated; see the recipe's comment for why"
fi
else
just {{recipe}} || echo "just {{recipe}}: FAILED (tolerated in CI; see the recipe's comment)"
fi
# Context-free checks precede PR checks (no-op without PR_NUMBER).
# ci.yml supplies PR_NUMBER / PR_BASE_SHA / GH_TOKEN.
# Required core matrix.
core:
@just gha::_step version-guard-local
@just gha::_step version-guard-pr
@just gha::_step fmt-check
@just gha::_step lint
@just gha::_step build
@just gha::_step test-rust
@just gha::_step shim
@just gha::_step fixtures
@just gha::_step corpus
@just gha::_step shells
@just gha::_step test-runtime
@just gha::_step test-protocol
@just gha::_step test-wasi
@just gha::_step test-sockets-node
@just gha::_step test-ct-runner
@just gha::_step test-bundle
@just gha::_step test-version-guard
@just gha::_step publish-check
@just gha::_step examples
@just gha::_step test-translate
@just gha::_step conformance
@just gha::_step sched-seeds
# Page and worker realms share per-engine expectations; WebKit is best-effort.
# Post-merge browser job; gates prerelease artifacts, not PR mergeability.
browser:
@just gha::_step shim
@just gha::_step corpus
@just gha::_step fixtures
@just gha::_step "browsers-install --with-deps"
@just gha::_step "browser-lane chromium"
@just gha::_step "browser-lane chromium --realm worker"
@just gha::_step "browser-lane chromium --realm shared-worker"
@just gha::_step "browser-lane firefox"
@just gha::_step "browser-lane firefox --realm worker"
@just gha::_step "browser-lane firefox --realm shared-worker"
@just gha::_step "smoke-opfs chromium"
@just gha::_step "smoke-opfs chromium --realm worker"
@just gha::_step "smoke-opfs chromium --realm shared-worker"
@just gha::_step "smoke-opfs firefox"
@just gha::_step "smoke-opfs firefox --realm worker"
@just gha::_step "smoke-opfs firefox --realm shared-worker"
@just gha::_step-tolerated "browsers-install-webkit --with-deps"
@just gha::_step-tolerated "browser-lane webkit"
# Findings-only x64 canaries: deviations exit 0; infrastructure failures exit 2.
canary:
@just gha::_step shim
@just gha::_step corpus
@just gha::_step "shell-lane sm-nightly --json sm-results.json"
@just gha::_step "shell-lane jsc-trunk --json jsc-results.json"
@just gha::_step "deno-canary --json deno-canary-results.json"
# Findings-only arm64 canaries; JSC has no arm64 channel.
canary-arm:
@just gha::_step shim
@just gha::_step corpus
@just gha::_step "shell-lane sm-nightly --json sm-results.json"
@just gha::_step "deno-canary --json deno-canary-results.json"