From 7cf6ce9afb8af36d631a5bbaec2daa1da20d9f33 Mon Sep 17 00:00:00 2001 From: Emil Simeonov Date: Tue, 4 Aug 2026 10:28:02 +0200 Subject: [PATCH] fix: switch default network driver to slirp4netns (pasta TCP RST bug) pasta's TCP proxy sends RST packets with wrong sequence numbers after the first data packet, breaking TCP connections from Docker containers to external hosts. slirp4netns doesn't have this bug. Changes: - Default gitea_runner_docker_rootless_net_driver changed to slirp4netns - Port driver: 'implicit' for pasta, 'builtin' for slirp4netns - daemon.json: DNS configured per driver (10.0.2.3 for pasta, 8.8.8.8 for slirp4netns) - IPv6 only enabled for pasta (slirp4netns doesn't support IPv6) - integration_test: retry service active check (handles slow startup) --- .vale/styles/Google/Anthropomorphism.yml | 12 ++++ .vale/styles/Google/Colons.yml | 9 ++- .vale/styles/Google/DateFormat.yml | 2 +- .vale/styles/Google/ExcessiveClaims.yml | 14 ++++ .vale/styles/Google/FirstPerson.yml | 10 +-- .vale/styles/Google/Headings.yml | 7 +- .vale/styles/Google/Jargon.yml | 13 ++++ .vale/styles/Google/Latin.yml | 8 ++- .vale/styles/Google/OxfordComma.yml | 10 ++- .vale/styles/Google/Parens.yml | 10 ++- .vale/styles/Google/Timeless.yml | 13 ++++ .vale/styles/Google/Units.yml | 6 +- .vale/styles/Google/WordList.yml | 57 +--------------- .vale/styles/Google/WordListCase.yml | 68 +++++++++++++++++++ ansible/roles/gitea_runner/defaults/main.yml | 9 ++- .../gitea_runner/tasks/integration_test.yml | 5 +- .../gitea_runner/tasks/rootless_docker.yml | 16 +++-- 17 files changed, 192 insertions(+), 77 deletions(-) create mode 100644 .vale/styles/Google/Anthropomorphism.yml create mode 100644 .vale/styles/Google/ExcessiveClaims.yml create mode 100644 .vale/styles/Google/Jargon.yml create mode 100644 .vale/styles/Google/Timeless.yml create mode 100644 .vale/styles/Google/WordListCase.yml diff --git a/.vale/styles/Google/Anthropomorphism.yml b/.vale/styles/Google/Anthropomorphism.yml new file mode 100644 index 0000000..36137a1 --- /dev/null +++ b/.vale/styles/Google/Anthropomorphism.yml @@ -0,0 +1,12 @@ +extends: existence +message: "Don't attribute human qualities to software or hardware ('%s')." +link: https://developers.google.com/style/anthropomorphism +level: suggestion +ignorecase: true +# Limited to the two verbs the guide itself names. Broader lists (wants, knows, +# thinks) can't tell a software subject from a human one: on a 950-file corpus +# they produced 8 false positives ('the customer wants', 'your audience knows') +# for every 2 real ones. +tokens: + - sees + - tells diff --git a/.vale/styles/Google/Colons.yml b/.vale/styles/Google/Colons.yml index 4a027c3..98972b9 100644 --- a/.vale/styles/Google/Colons.yml +++ b/.vale/styles/Google/Colons.yml @@ -1,8 +1,13 @@ extends: existence message: "'%s' should be in lowercase." link: 'https://developers.google.com/style/colons' -nonword: true level: warning scope: sentence +# The match is the word itself, not ': X', and `nonword` is off. Both are +# required for a project Vocab to work: Vale compares accept.txt entries +# against the matched text, and `nonword: true` opts out of that entirely. +# So a proper noun after a colon can be exempted by adding it to accept.txt. +# The guide's other exemption, notice labels, is handled by the lookbehinds; +# headings are already excluded by `scope: sentence`. See issue #20. tokens: - - '(?