Compare commits
1
Commits
62f593f49a
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e572ce7f8 |
No files matched your search
@@ -7,6 +7,8 @@ concurrency:
|
|||||||
jobs:
|
jobs:
|
||||||
check:
|
check:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
# Free the shared runner from a hung build.
|
||||||
|
timeout-minutes: 20
|
||||||
steps:
|
steps:
|
||||||
# actions/checkout v4.2.2, 2026-02-22
|
# actions/checkout v4.2.2, 2026-02-22
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||||
@@ -15,7 +17,4 @@ jobs:
|
|||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
# All history and tags, so git describe finds the version tag.
|
# All history and tags, so git describe finds the version tag.
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
# Free the shared runner from a hung build. The limit is on the
|
|
||||||
# step because the runner ignores a job's timeout-minutes.
|
|
||||||
- run: script/cibuild
|
- run: script/cibuild
|
||||||
timeout-minutes: 20
|
|
||||||
+2
-2
@@ -62,9 +62,9 @@ WORKDIR /app
|
|||||||
COPY package.json yarn.lock ./
|
COPY package.json yarn.lock ./
|
||||||
RUN yarn install --frozen-lockfile
|
RUN yarn install --frozen-lockfile
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN NODE_OPTIONS=--test-reporter=dot yarn --silent run test || \
|
RUN NODE_OPTIONS=--test-reporter=dot timeout 90 yarn --silent run test || \
|
||||||
{ echo "--- Rerunning with every test listed for details ---"; \
|
{ echo "--- Rerunning with every test listed for details ---"; \
|
||||||
NODE_OPTIONS=--test-reporter=spec yarn --silent run test; \
|
NODE_OPTIONS=--test-reporter=spec timeout 90 yarn --silent run test; \
|
||||||
exit 1; }
|
exit 1; }
|
||||||
|
|
||||||
# Test phase: the backend's tests with the race detector and coverage,
|
# Test phase: the backend's tests with the race detector and coverage,
|
||||||
|
|||||||
@@ -23,11 +23,6 @@ Run `make frontend-viewport-test` in CI as its own step; it is not part of
|
|||||||
|
|
||||||
# Completed Steps
|
# Completed Steps
|
||||||
|
|
||||||
- 2026-11-10: the CI time limit of 20 minutes is on the step that runs
|
|
||||||
`script/cibuild` ([#199](https://git.eeqj.de/sneak/netwatch/issues/199)). The
|
|
||||||
runner ignored it on the job. The `Dockerfile`, `script/frontend-test` and
|
|
||||||
`script/frontend-viewport-test` no longer wrap commands in `timeout`, so
|
|
||||||
`make check` has no time limit outside CI.
|
|
||||||
- 2026-10-26: `README.md`, `TODO.md` and `test/viewport/README.md` are rewritten
|
- 2026-10-26: `README.md`, `TODO.md` and `test/viewport/README.md` are rewritten
|
||||||
sentence by sentence ([#189](https://git.eeqj.de/sneak/netwatch/issues/189)).
|
sentence by sentence ([#189](https://git.eeqj.de/sneak/netwatch/issues/189)).
|
||||||
Each sentence reads on the first pass: one idea, under about 30 words, the
|
Each sentence reads on the first pass: one idea, under about 30 words, the
|
||||||
|
|||||||
@@ -15,13 +15,13 @@ ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|||||||
main() {
|
main() {
|
||||||
cd "$ROOT"
|
cd "$ROOT"
|
||||||
NODE_OPTIONS=--test-reporter=dot \
|
NODE_OPTIONS=--test-reporter=dot \
|
||||||
"$ROOT/script/yarn" --silent run test || {
|
timeout 90 "$ROOT/script/yarn" --silent run test || {
|
||||||
echo "--- Rerunning with every test listed for details ---"
|
echo "--- Rerunning with every test listed for details ---"
|
||||||
NODE_OPTIONS=--test-reporter=spec \
|
NODE_OPTIONS=--test-reporter=spec \
|
||||||
"$ROOT/script/yarn" --silent run test
|
timeout 90 "$ROOT/script/yarn" --silent run test
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
"$ROOT/script/yarn" build
|
timeout 30 "$ROOT/script/yarn" build
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
@@ -31,7 +31,7 @@ HARNESS="netwatch-viewport-harness-$RUN_ID"
|
|||||||
ARTIFACT_DIR="$ROOT/tmp/viewport"
|
ARTIFACT_DIR="$ROOT/tmp/viewport"
|
||||||
|
|
||||||
# Every container is named and removed here, including the harness itself:
|
# Every container is named and removed here, including the harness itself:
|
||||||
# an interrupted `docker run` client does not remove the container it
|
# `timeout` below kills the `docker run` client, not the container it
|
||||||
# started, and an unnamed survivor keeps the --internal network in use so
|
# started, and an unnamed survivor keeps the --internal network in use so
|
||||||
# `docker network rm` fails too. This host runs many sessions at once and
|
# `docker network rm` fails too. This host runs many sessions at once and
|
||||||
# neither may be left behind.
|
# neither may be left behind.
|
||||||
@@ -122,7 +122,7 @@ main() {
|
|||||||
-f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' \
|
-f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' \
|
||||||
"$BROWSER")"
|
"$BROWSER")"
|
||||||
|
|
||||||
docker run --rm --init --name "$HARNESS" \
|
timeout 900 docker run --rm --init --name "$HARNESS" \
|
||||||
--network "$NETWORK" \
|
--network "$NETWORK" \
|
||||||
--user "$(id -u):$(id -g)" \
|
--user "$(id -u):$(id -g)" \
|
||||||
-v "$ROOT:/app" \
|
-v "$ROOT:/app" \
|
||||||
|
|||||||
Reference in new issue
Block a user