Add the labelled comment corpus for the English-comments check

300 English comments from this repository and 138 comments in Danish, Bahasa
Malaysia, German, Swedish, Norwegian and French, written for the purpose and
not checked by a native reader. The detection method is measured on it.

Refs #197
Task: MIL-013#1
This commit is contained in:
2026-10-19 12:21:22 +08:00
parent 51af1466e0
commit 0603c61602
2 changed files with 440 additions and 0 deletions
+301
View File
@@ -0,0 +1,301 @@
lang text origin
en "string", "char" (a literal of one character) or "none" tools/count_loc.py
en (ADR-0008). The workflow checks out the calling repository, fetches this file tools/quality-checks-cpp.sh
en (MIL-004 task 6). The repository is public, so no token is needed. .gitea/scoped_workflows/sync-github-metadata.yml
en (compile-commands-dir) are optional. .gitea/workflows/quality-checks-cpp.yml
en (tools/publish_wiki.py), fetched at tools-ref. .gitea/workflows/publish-wiki-pages.yml
en ----------------------------------------------------------------- helpers tests/test_quality_workflows_cpp_csharp.py
en --------------------------------------------------------------------- C# tests/test_quality_workflows_cpp_csharp.py
en --------------------------------------------------------------------- C++ tests/test_quality_workflows_cpp_csharp.py
en .c files are C; everything else (including headers) is checked as C++. tools/quality-checks-cpp.sh
en .gitmodules uses ssh:// URLs and the runner has no SSH key, so the .gitea/workflows/sync-milestones.yml
en A directory with a `python3` that runs the interpreter of the tests. tests/test_code_metrics.py
en A failure with a category. tools/publish_wiki.py
en A runner must be registered for the repository (or its organisation). .gitea/workflows/sync-milestones.yml
en A script module, readable and writable by item and by attribute. tests/workflow_source.py
en A script run: the finished process and the tool calls the stubs logged. tests/test_quality_workflows_cpp_csharp.py
en A source file or section needed for a page is missing. tools/build_wiki.py
en A translation has the same code blocks, table rows and heading levels. tests/test_build_wiki.py
en A wiki that already has pages named with spaces, as Gitea stores them. tests/test_publish_wiki.py
en ADR-0009, MIL-009: the scoped publish-wiki.yml and the marker are removed. tests/test_publish_wiki.py
en An exact stable version of the .NET SDK, 10 or later (no channel, no range). tools/quality-checks-csharp.sh
en An input is invalid; the message is printed as a `[configuration]` failure. tools/badges.py
en Answers like the Gitea repository and wiki endpoints. tests/test_publish_wiki.py
en Answers the calls of the release script and records the writes. tests/test_release.py
en Black or white, whichever has the higher contrast on the background. tools/badges.py
en Build the English wiki pages in ``docs/wiki/`` from ``README.md`` and ``guides/``. tools/build_wiki.py
en CLANG_TIDY_VERSION, QC_VENV (and QC_BIN for tests). tools/quality-checks-cpp.sh
en COVERAGE_WARN, COVERAGE_GOOD, BADGES_BRANCH, BADGES_OUT (the directory of the badge files; a temporary tools/code-metrics.sh
en Copy the badge files into the worktree and stage them; return 0 when tools/code-metrics.sh
en Copy the description and topics of a Gitea repository to its GitHub push mirror. tools/sync_github_metadata.py
en Count the code files and the lines of code of a directory (ADR-0010). tools/count_loc.py
en Count the code files under directory; see the module docstring for the result. tools/count_loc.py
en Create a release of this repository: version tag, release page, major tag. tools/release.py
en Create and update the pages; delete the others only when prune is set. tools/publish_wiki.py
en Create the release page (and with it the tag), then move the major tag. tools/release.py
en Describe the shape of a token without revealing any of its characters. tools/publish_wiki.py
en Empty on a push (a real run); "true" or "false" on a manual run. .gitea/workflows/sync-milestones.yml
en Env: SHELLCHECK, SHFMT the commands to run (default: from the PATH) tools/lint-action-scripts.sh
en Every failure is printed as ::error::[category] message. tools/code-metrics.sh
en Every failure is printed as ::error::[category] message. A key is never printed. actions/connect-wireguard/connect-wireguard.sh
en Exit: 0 every script is clean (or there is none); 1 at least one finding or tools/lint-action-scripts.sh
en Gitea keeps a hyphen in a title literal (Home-da.-.md, address Home%2Dda). tests/test_publish_wiki.py
en Gitea shows subpages only through _Sidebar, so it must reach every page. tests/test_build_wiki.py
en H2 titles to keep; None keeps the file tools/build_wiki.py
en Helpers that read workflow files and the Python embedded in them. tests/workflow_source.py
en INSTALLING THIS FILE IS THE STANDING AUTHORIZATION TO PUBLISH. This project .gitea/workflows/sync-milestones.yml
en Import a script file without running its `main` (its name is not `__main__`). tests/workflow_source.py
en Import tools/changelog.py, which sits next to this file. tools/release.py
en Import tools/publish_wiki.py. tests/workflow_source.py
en Import tools/sync_github_metadata.py. tests/workflow_source.py
en It checks the C and C++ files of the repository with clang-format and .gitea/workflows/quality-checks-cpp.yml
en It checks the C# solution or project of the repository with `dotnet format` .gitea/workflows/quality-checks-csharp.yml
en It checks the Python and shell files of the repository with pinned tools, .gitea/workflows/quality-checks.yml
en It counts the code files and the lines of code of the repository (comment .gitea/workflows/code-metrics.yml
en It needs read and write on issues and milestones, and read on the framework .gitea/workflows/sync-milestones.yml
en It runs no test, needs no secret and writes only the badges branch. .gitea/workflows/code-metrics.yml
en LANGUAGES, WORKING_DIRECTORY, RUFF_VERSION, MYPY_VERSION, tools/quality-checks.sh
en LF on every platform tests/test_lint_action_scripts.py
en Leading emoji and symbols in README headings; removed so anchors stay stable. tools/build_wiki.py
en Link text of the sidebar: English, then one list per translation code. tools/build_wiki.py
en Lint the shell scripts of the composite actions (MIL-012 task 6): shellcheck, tools/lint-action-scripts.sh
en MIL-004 Go/No-Go criterion 5: every script is a file under tools/. tests/test_workflows.py
en Markdown pages of wiki_dir to the wiki of the calling repository, creating .gitea/workflows/publish-wiki-pages.yml
en Needs: bash, find, shellcheck, shfmt tools/lint-action-scripts.sh
en No translation follows an older version of its English page. tests/test_build_wiki.py
en Offline tests for the composite action actions/connect-tailscale. tests/test_connect_tailscale.py
en Offline tests for the composite action actions/connect-wireguard. tests/test_connect_wireguard.py
en Offline tests for the parts of tools/ that the flow tests do not reach. tests/test_tool_entrypoints.py
en Offline tests for the reusable C++ and C# quality-check workflows (ADR-0008). tests/test_quality_workflows_cpp_csharp.py
en Offline tests for the reusable code-metrics workflow and tools/code-metrics.sh (ADR-0010). tests/test_code_metrics.py
en Offline tests for the reusable quality-check workflow (ADR-0005). tests/test_quality_workflow.py
en Offline tests for tools/badges.py (ADR-0010): the coverage reader and the SVG renderer. tests/test_badges.py
en Offline tests for tools/build_wiki.py. tests/test_build_wiki.py
en Offline tests for tools/changelog.py and the CHANGELOG.md of this repository. tests/test_changelog.py
en Offline tests for tools/count_loc.py (ADR-0010): hand-counted fixtures per language. tests/test_count_loc.py
en Offline tests for tools/lint-action-scripts.sh (MIL-012 task 6). tests/test_lint_action_scripts.py
en Offline tests for tools/publish_wiki.py and the publish-wiki workflows. tests/test_publish_wiki.py
en Offline tests for tools/release.py and .gitea/workflows/release.yml. tests/test_release.py
en Offline tests for tools/sync_github_metadata.py. tests/test_sync_github_metadata.py
en On a push to main that changes docs/milestones/ or docs/sqa/reviews/, this .gitea/workflows/sync-milestones.yml
en One `## [x]` section of the changelog. tools/changelog.py
en One generated wiki page. tools/build_wiki.py
en Publish accepted milestones to the git host. .gitea/workflows/sync-milestones.yml
en Publish the pages of a folder to the Gitea wiki of the repository. tools/publish_wiki.py
en Publishes the wiki of this repository from docs/wiki/ by calling the .gitea/workflows/publish-own-wiki.yml
en Publishing an empty directory would delete the whole wiki. tools/publish_wiki.py
en PyYAML reads `on` as True tests/test_code_metrics.py
en QC_DOTNET_INSTALL_SCRIPT, QC_DOTNET for tests). tools/quality-checks-csharp.sh
en Read a Cobertura coverage report and write the code metrics badges (ADR-0010). tools/badges.py
en Read, check and cut release notes from CHANGELOG.md (ADR-0006). tools/changelog.py
en Records calls and answers like the Gitea and GitHub REST APIs. tests/test_sync_github_metadata.py
en Releases this repository (ADR-0006, ADR-0007, MIL-004 task 5). It is started .gitea/workflows/release.yml
en Remove the leading emoji from a heading line. tools/build_wiki.py
en Replace urllib.request.urlopen; set `.reply` to a body or an exception. tests/test_tool_entrypoints.py
en Return (code, comment, blank) line counts of the text of a file. tools/count_loc.py
en Return (exact tag, major tag, whether the major tag moves). tools/release.py
en Return ``{file name: content}`` for every English page and the sidebar. tools/build_wiki.py
en Return a flat two-part SVG badge; the width follows the number of characters. tools/badges.py
en Return a message for every page that is missing or out of date. tools/build_wiki.py
en Return a message for every translation that is missing or stale. tools/build_wiki.py
en Return every tag name of the repository. tools/release.py
en Return every workflow file in the known workflow directories. tests/workflow_source.py
en Return one message per breach of the convention. tools/changelog.py
en Return red below warn, yellow from warn to below good, green from good. tools/badges.py
en Return the Markdown of the release page for ``version``. tools/changelog.py
en Return the boolean of the WIKI_PRUNE input: true or false, nothing else. tools/publish_wiki.py
en Return the full Markdown of one wiki page. tools/build_wiki.py
en Return the identity of a page: Gitea stores a space as a hyphen. tools/publish_wiki.py
en Return the index after the string that opens at start; the end of line if unclosed. tools/count_loc.py
en Return the keys of the pages that exist in the wiki. tools/publish_wiki.py
en Return the language of a file name by its extension, or None. tools/count_loc.py
en Return the line coverage of a Cobertura XML report as a whole percent, half up. tools/badges.py
en Return the line that links a page to its other languages. tools/build_wiki.py
en Return the lines before the first H2 and the lines of each H2 section. tools/build_wiki.py
en Return the navigation shown beside every wiki page. tools/build_wiki.py
en Return the problems of one workflow's default `tools-ref`, or []. tests/test_tools_ref.py
en Return the release page text for a version, or fail as a validation error. tools/release.py
en Return the releases in file order; text before the first one is ignored. tools/changelog.py
en Return the short content hash a translation records for its source. tools/build_wiki.py
en Return the source of each `python3 - <<'PY'` heredoc in a workflow. tests/workflow_source.py
en Return the title to send to Gitea for a page key. tools/publish_wiki.py
en Return the version as a tuple, or raise a configuration error. tools/release.py
en Return the wiki form of a link target found in ``source``. tools/build_wiki.py
en Return the workflow files of this repository that a caller can use. tests/test_tools_ref.py
en Return {page key: content} for every Markdown file in wiki_dir. tools/publish_wiki.py
en Reusable workflow (ADR-0005). A repository calls it with .gitea/workflows/quality-checks.yml
en Reusable workflow (ADR-0008). A repository calls it with .gitea/workflows/quality-checks-cpp.yml
en Reusable workflow (ADR-0009, MIL-008). A repository calls it with .gitea/workflows/publish-wiki-pages.yml
en Reusable workflow (ADR-0010). A repository calls it with .gitea/workflows/code-metrics.yml
en Run a tool as `python tools/<name>` with only the given environment. tests/test_tool_entrypoints.py
en Run it once by hand from the Actions page with dry_run left on: it prints .gitea/workflows/sync-milestones.yml
en Run the generator; return the process exit code. tools/build_wiki.py
en Run the script with a stub wg-quick that records its arguments. tests/test_connect_wireguard.py
en SHELLCHECK_PY_VERSION, SHFMT_PY_VERSION, QC_VENV (and QC_BIN for tests). tools/quality-checks.sh
en Scan one line; return (has_code, has_comment) and update the state. tools/count_loc.py
en Scoped workflow: it runs in every repository of an organization. The script .gitea/scoped_workflows/sync-github-metadata.yml
en Secret: TOKEN_FOR_GITEA, the bare Gitea token of the organization (no JSON). .gitea/workflows/sync-milestones.yml
en Settings come from the environment, never from interpolated expressions: tools/code-metrics.sh
en Static validation of every workflow file in this repository. tests/test_workflows.py
en Steps of the composite action actions/connect-tailscale/action.yml. actions/connect-tailscale/connect-tailscale.sh
en Steps of the composite action actions/connect-wireguard/action.yml. actions/connect-wireguard/connect-wireguard.sh
en Steps of the reusable workflow .gitea/workflows/code-metrics.yml (ADR-0010). tools/code-metrics.sh
en Steps of the reusable workflow .gitea/workflows/quality-checks-cpp.yml tools/quality-checks-cpp.sh
en Steps of the reusable workflow .gitea/workflows/quality-checks-csharp.yml tools/quality-checks-csharp.sh
en Steps of the reusable workflow .gitea/workflows/quality-checks.yml (ADR-0005). tools/quality-checks.sh
en Strip heading emoji and rewrite links, leaving fenced code untouched. tools/build_wiki.py
en Succeeds when one of the named files exists in the working directory or above tools/quality-checks-cpp.sh
en TOKEN_FOR_GITEA_WIKI: ${{ secrets.TOKEN_FOR_GITEA_WIKI }} .gitea/workflows/publish-wiki-pages.yml
en TS_ARGS is split on spaces on purpose: it holds flags, never a secret actions/connect-tailscale/connect-tailscale.sh
en TS_AUTHKEY, TS_OAUTH_SECRET, TS_TAGS, TS_HOSTNAME, TS_VERSION, TS_USERSPACE, actions/connect-tailscale/connect-tailscale.sh
en TS_SHA256, TS_ARGS, TS_TIMEOUT, TS_HEALTH_CHECK_HOST. TS_TAILSCALE, actions/connect-tailscale/connect-tailscale.sh
en TS_TAILSCALED, TS_SUDO, TS_STATE_DIR, TS_START_WAIT (tries) and actions/connect-tailscale/connect-tailscale.sh
en TS_WAIT_INTERVAL (seconds) name the commands, the work folder and the waits, actions/connect-tailscale/connect-tailscale.sh
en The Home page names each workflow file of the repository and draws it. tests/test_build_wiki.py
en The `if __name__ == "__main__"` block: exit code 1 and ERROR: on stderr. tests/test_tool_entrypoints.py
en The auth key is passed to tailscale in a file of mode 600, never on a command actions/connect-tailscale/connect-tailscale.sh
en The caller file is the opt-in; there is no marker file. It publishes the .gitea/workflows/publish-wiki-pages.yml
en The comment and string rules of one language. tools/count_loc.py
en The commit is the tip of the branch and its validation run is green. tools/release.py
en The default `tools-ref` of every reusable workflow names the current major. tests/test_tools_ref.py
en The exclude patterns of the caller; a pattern without `/` matches a name anywhere. tools/count_loc.py
en The page a link to a source file should point to. The README is the home page. tools/build_wiki.py
en The pages in wiki/ match what README.md and guides/ produce. tests/test_build_wiki.py
en The reusable workflow sets WIKI_PRUNE: the caller is the opt-in (MIL-008). tests/test_publish_wiki.py
en The wiki of this repository equals docs/wiki/ (ADR-0009, MIL-008 task 4). tests/test_publish_wiki.py
en The workflow checks out the calling repository, fetches this file into tools/code-metrics.sh
en Translate an exclude pattern: `*` stops at `/`, `**` crosses it, `?` is one character. tools/count_loc.py
en Translations (ADR-0001): `<Page>.<code>` written by hand in docs/wiki/. tools/build_wiki.py
en True when the tag holds the file; True when the tag is not in this checkout. tests/test_tools_ref.py
en Two merges in a row queue instead of racing. .gitea/workflows/sync-milestones.yml
en Usage: lint-action-scripts.sh [<directory>] (default: actions) tools/lint-action-scripts.sh
en Use the user-space implementation when the kernel has no WireGuard module, actions/connect-wireguard/connect-wireguard.sh
en WG_ALLOWED_IPS, WG_PRESHARED_KEY, WG_DNS, WG_KEEPALIVE, WG_INTERFACE, actions/connect-wireguard/connect-wireguard.sh
en WG_CONFIG, WG_PRIVATE_KEY, WG_ADDRESS, WG_PEER_PUBLIC_KEY, WG_ENDPOINT, actions/connect-wireguard/connect-wireguard.sh
en WG_HEALTH_CHECK_HOST. WG_DIR is the configuration directory (/etc/wireguard actions/connect-wireguard/connect-wireguard.sh
en WORKING_DIRECTORY, EXCLUDE, COVERAGE_REPORT, COVERAGE_ARTIFACT, tools/code-metrics.sh
en WORKING_DIRECTORY, PROJECT, DOTNET_SDK_VERSION, DOTNET_ROOT (and tools/quality-checks-csharp.sh
en WORKING_DIRECTORY, STD, COMPILE_COMMANDS_DIR, CLANG_FORMAT_VERSION, tools/quality-checks-cpp.sh
en Windows has no POSIX file modes tests/test_connect_wireguard.py
en Without a .clang-tidy, clang-tidy enables no check and refuses to run, so tools/quality-checks-cpp.sh
en Write every page; return the names of the files that changed. tools/build_wiki.py
en Write the badge files and the metrics JSON; return the paths in a fixed order. tools/badges.py
en `install` creates the venv and installs `==` versions; checked with a fake pip. tests/test_quality_workflows_cpp_csharp.py
en `ip link add` fails in the test environment, so wireguard-go must exist tests/test_connect_wireguard.py
en a breaking entry needs a new major compared with the release before it tools/changelog.py
en a called workflow has its own runner tests/test_workflows.py
en a daemon that already runs belongs to the host; this action would log it out actions/connect-tailscale/connect-tailscale.sh
en a full configuration: mask the value of every PrivateKey and PresharedKey actions/connect-wireguard/connect-wireguard.sh
en a line break would add directives (PostUp runs as root) to the file actions/connect-wireguard/connect-wireguard.sh
en a missing tool tools/lint-action-scripts.sh
en a sudo that resets the environment, as the real one does tests/test_connect_wireguard.py
en a wrapped item: the lines that continue it belong to the same item tools/changelog.py
en a.py has one code line, run.sh one tests/test_code_metrics.py
en an entry for the version. dry_run defaults to true: it checks and prints and .gitea/workflows/release.yml
en and `dotnet build` (warnings as errors) on an exact .NET SDK 10 or later, .gitea/workflows/quality-checks-csharp.yml
en and blank lines are not counted), reads an optional Cobertura XML coverage .gitea/workflows/code-metrics.yml
en and nothing when none of them changed tools/code-metrics.sh
en and shfmt in the format .editorconfig sets (two spaces, indented case labels). tools/lint-action-scripts.sh
en and updating pages, and deleting pages that are not in the folder only when .gitea/workflows/publish-wiki-pages.yml
en branches: [ main ] .gitea/workflows/publish-wiki-pages.yml
en branches: [main] .gitea/workflows/code-metrics.yml
en by default); WG_QUICK, WG_SUDO and WG_PING name the commands, for the tests. actions/connect-wireguard/connect-wireguard.sh
en by hand with the version to release; it creates the version tag, the release .gitea/workflows/release.yml
en caller a project copies from framework/templates/ci/publish-wiki.yml, with .gitea/workflows/publish-own-wiki.yml
en changes no file and needs no secret. .gitea/workflows/quality-checks.yml
en changes no file and needs no secret. The package restore needs the network. .gitea/workflows/quality-checks-csharp.yml
en clang-tidy at exact versions, changes no file and needs no secret. The .gitea/workflows/quality-checks-cpp.yml
en clang-tidy exits 0 on a warning, so every finding is made an error: a tools/quality-checks-cpp.sh
en code-metrics.sh measure count the code, read the coverage report and tools/code-metrics.sh
en code-metrics.sh publish commit the badge files to the badges branch, tools/code-metrics.sh
en code-metrics.sh validate check the inputs, before anything is counted tools/code-metrics.sh
en command line. .gitea/workflows/sync-milestones.yml
en commit is the tip of main, its validation run is green and the changelog has .gitea/workflows/release.yml
en compile-commands-dir is relative to the repository root, not to the working directory tools/quality-checks-cpp.sh
en configuration the same way. tools/quality-checks-cpp.sh
en connect-tailscale.sh down log the node out and stop tailscaled actions/connect-tailscale/connect-tailscale.sh
en connect-tailscale.sh mask print ::add-mask:: for every secret input actions/connect-tailscale/connect-tailscale.sh
en connect-tailscale.sh up install tailscale if needed, start tailscaled and join the tailnet actions/connect-tailscale/connect-tailscale.sh
en connect-wireguard.sh down take the tunnel down and delete the configuration actions/connect-wireguard/connect-wireguard.sh
en connect-wireguard.sh mask print ::add-mask:: for every secret input actions/connect-wireguard/connect-wireguard.sh
en connect-wireguard.sh up write the configuration and bring the tunnel up actions/connect-wireguard/connect-wireguard.sh
en contents: write .gitea/workflows/code-metrics.yml
en deleted. Each run updates the issues of every accepted milestone (the sync is .gitea/workflows/sync-milestones.yml
en directory under RUNNER_TEMP by default). tools/code-metrics.sh
en env keeps the userspace variable through sudo; the file holds the key, so actions/connect-wireguard/connect-wireguard.sh
en finding must fail the check, as a failing tool does for the other languages. tools/quality-checks-cpp.sh
en for the tests. actions/connect-tailscale/connect-tailscale.sh
en idempotent, but the host records the edit). .gitea/workflows/sync-milestones.yml
en installed it on 2026-10-11 at the request of S01. .gitea/workflows/sync-milestones.yml
en into shared-scripts/ and runs one command per step: tools/quality-checks-cpp.sh
en is a file of TirSystem/github-action (tools/sync_github_metadata.py), fetched .gitea/scoped_workflows/sync-github-metadata.yml
en is created or updated as a Milestone with its tasks as Issues. A Proposed .gitea/workflows/sync-milestones.yml
en it is removed when the interface does not come up actions/connect-wireguard/connect-wireguard.sh
en it, up to the top of the repository: clang-format and clang-tidy find their tools/quality-checks-cpp.sh
en latest Version History row is Accepted and whose latest review record is a Go .gitea/workflows/sync-milestones.yml
en line, and nothing else, so the rest of the log stays readable actions/connect-wireguard/connect-wireguard.sh
en line. Every failure is printed as ::error::[category] message. actions/connect-tailscale/connect-tailscale.sh
en metrics: .gitea/workflows/code-metrics.yml
en milestone, or one without a Go review, is skipped. Nothing is closed or .gitea/workflows/sync-milestones.yml
en name -> (source, code, comment, blank), counted by hand. tests/test_count_loc.py
en names that start with GITEA_ or GITHUB_. .gitea/workflows/sync-milestones.yml
en no final newline tests/test_count_loc.py
en often has no sudo. TS_SUDO overrides it (empty for none). actions/connect-tailscale/connect-tailscale.sh
en often has no sudo. WG_SUDO overrides it (empty for none). actions/connect-wireguard/connect-wireguard.sh
en on failure the captured output is the ::error:: line, which must be shown actions/connect-wireguard/connect-wireguard.sh
en only a daemon this action started is logged out and stopped actions/connect-tailscale/connect-tailscale.sh
en only the key values are masked tests/test_connect_wireguard.py
en only the probe ran: no second daemon, no up tests/test_connect_tailscale.py
en outside this repository, so it gets a copy of the repository's file tests/test_lint_action_scripts.py
en page from the changelog entry and moves the major tag, and only when the .gitea/workflows/release.yml
en parsed YAML has no fixed shape tests/test_quality_workflows_cpp_csharp.py
en paths: [ "docs/wiki/**" ] .gitea/workflows/publish-wiki-pages.yml
en permissions: .gitea/workflows/code-metrics.yml
en pretend the kernel has WireGuard and the tools are present tests/test_connect_wireguard.py
en prune is true. The script is a file of this repository .gitea/workflows/publish-wiki-pages.yml
en quality-checks-cpp.sh install install the exact clang tool versions into a venv tools/quality-checks-cpp.sh
en quality-checks-cpp.sh run run clang-format and clang-tidy on the tracked files tools/quality-checks-cpp.sh
en quality-checks-cpp.sh validate check the inputs, before anything is installed tools/quality-checks-cpp.sh
en quality-checks-csharp.sh install install the exact .NET SDK version tools/quality-checks-csharp.sh
en quality-checks-csharp.sh run run dotnet format and dotnet build on the project tools/quality-checks-csharp.sh
en quality-checks-csharp.sh validate check the inputs, before anything is installed tools/quality-checks-csharp.sh
en quality-checks.sh install install the pinned tools into a virtual environment tools/quality-checks.sh
en quality-checks.sh run run every selected tool on the tracked files tools/quality-checks.sh
en quality-checks.sh validate check the inputs, before anything is installed tools/quality-checks.sh
en quality: .gitea/workflows/quality-checks-cpp.yml
en real/a.py only, not link.py tests/test_count_loc.py
en render_config: the wg-quick configuration on stdout actions/connect-wireguard/connect-wireguard.sh
en report (an artifact of an earlier job of the caller, or a file of the .gitea/workflows/code-metrics.yml
en repository needs a .clang-format; a .clang-tidy and a compile database .gitea/workflows/quality-checks-cpp.yml
en repository) and commits three SVG badges to a branch of the calling .gitea/workflows/code-metrics.yml
en repository, which is checked out as a submodule. Gitea does not accept secret .gitea/workflows/sync-milestones.yml
en repository. .gitea/workflows/code-metrics.yml
en reusable workflow of this repository (ADR-0009, MIL-008 task 4). It is the .gitea/workflows/publish-own-wiki.yml
en secrets: .gitea/workflows/publish-wiki-pages.yml
en shared-scripts/ and runs one command per step: tools/code-metrics.sh
en shellcheck disable=SC2206 actions/connect-tailscale/connect-tailscale.sh
en shfmt reads .editorconfig from the folder upwards; a temporary folder is tests/test_lint_action_scripts.py
en something differs from the branch. tools/code-metrics.sh
en stop at the top of the repository, or at the file system root tools/quality-checks-cpp.sh
en submodules (framework, and framework/qc inside it) are fetched over HTTPS .gitea/workflows/sync-milestones.yml
en sudo is used only when the job is not root: a job container runs as root and actions/connect-tailscale/connect-tailscale.sh
en the command is required tests/test_tool_entrypoints.py
en the plan and creates nothing. Turn dry_run off only for a real run. .gitea/workflows/sync-milestones.yml
en the project gets the compiler diagnostics and the static analyzer. tools/quality-checks-cpp.sh
en the stub records its arguments and, for `up`, the content of the key file tests/test_connect_tailscale.py
en the tools are in the virtual environment of the interpreter that runs the tests tests/test_lint_action_scripts.py
en tools-ref is main so that the script that is run is the one of this commit. .gitea/workflows/publish-own-wiki.yml
en two differences: the reusable workflow is called by its local path, and .gitea/workflows/publish-own-wiki.yml
en type: ignore[index] tools/changelog.py
en type: ignore[return-value] tools/changelog.py
en uses: TirSystem/github-action/.gitea/workflows/code-metrics.yml@v2 .gitea/workflows/code-metrics.yml
en uses: TirSystem/github-action/.gitea/workflows/publish-wiki-pages.yml@v1 .gitea/workflows/publish-wiki-pages.yml
en uses: TirSystem/github-action/.gitea/workflows/quality-checks-cpp.yml@v1 .gitea/workflows/quality-checks-cpp.yml
en uses: TirSystem/github-action/.gitea/workflows/quality-checks-csharp.yml@v1 .gitea/workflows/quality-checks-csharp.yml
en uses: TirSystem/github-action/.gitea/workflows/quality-checks.yml@v1 .gitea/workflows/quality-checks.yml
en validate-workflows.yml measures tools/ and fails below the .coveragerc limit. tests/test_workflows.py
en validate-workflows.yml runs it on every pull request and push to main. tools/lint-action-scripts.sh
en variables that must reach wg-quick through sudo, which resets the environment actions/connect-wireguard/connect-wireguard.sh
en wait_for_daemon: tailscaled needs a moment to create its socket actions/connect-tailscale/connect-tailscale.sh
en which is the usual case in a Gitea runner container. actions/connect-wireguard/connect-wireguard.sh
en with a checkout so that it is readable, lintable and tested as a file .gitea/scoped_workflows/sync-github-metadata.yml
Can't render this file because it contains an unexpected character in line 2 and column 11.
+139
View File
@@ -0,0 +1,139 @@
lang text origin
da hent brugeren fra databasen written
da Denne funktion beregner totalen for kurven written
da vi skal huske at lukke forbindelsen bagefter written
da TODO: ret fejlen når listen er tom written
da returnerer sandt hvis filen findes written
da Gem resultatet i en midlertidig mappe written
da her tjekker vi om brugeren har adgang written
da læs konfigurationen fra miljøvariablerne written
da hvis der ikke er noget svar, prøver vi igen written
da Opret en ny forbindelse til serveren written
da dette er en midlertidig løsning indtil videre written
da loop gennem alle filerne og tæl linjerne written
da Vi bruger en cache for at spare tid written
da fejlbesked skal vises til brugeren written
da sorter listen efter dato, nyeste først written
da ingen grund til at gentage kaldet written
da Kontroller at tokenet ikke er udløbet written
da slet de gamle filer før vi starter written
da Her håndterer vi alle undtagelser written
da afrund til nærmeste hele tal written
da venter på at serveren bliver klar written
da Parametrene er valgfrie, standardværdien er nul written
da kald funktionen to gange for at være sikker written
da skriv loggen til disken hver time written
da Det her virker kun på Linux written
da vi springer tomme linjer over written
da opdater tælleren når en ny post kommer ind written
da fjern dubletter fra resultatet written
da Brug en kø så arbejdet ikke blokerer written
da den øverste mappe i projektet written
da gennemløb træet fra roden og ned written
da Denne klasse holder styr på sessionerne written
da hvis navnet er tomt, brug standardnavnet written
da tjek om porten er optaget written
da Beregn gennemsnittet af de sidste ti målinger written
da vi skal have en bedre løsning her senere written
da Sæt tiden til midnat written
da læser hele filen ind i hukommelsen written
da Pas på, her kan der opstå en kapløbstilstand written
da flyt filen til arkivmappen written
da Dette er kun til test written
da slå op i tabellen efter navn written
da henter næste side af resultaterne written
da hvorfor gør vi det her? Fordi serveren kræver det written
da gem ændringerne og luk vinduet written
ms dapatkan pengguna daripada pangkalan data written
ms Fungsi ini mengira jumlah bagi troli written
ms kita perlu ingat untuk menutup sambungan selepas itu written
ms TODO: betulkan ralat apabila senarai kosong written
ms mengembalikan benar jika fail wujud written
ms Simpan hasil dalam folder sementara written
ms di sini kita semak sama ada pengguna mempunyai akses written
ms baca konfigurasi daripada pemboleh ubah persekitaran written
ms jika tiada jawapan, kita cuba lagi written
ms Buat sambungan baharu ke pelayan written
ms ini penyelesaian sementara buat masa ini written
ms ulang semua fail dan kira baris written
ms Kita guna cache untuk jimat masa written
ms mesej ralat mesti dipaparkan kepada pengguna written
ms susun senarai mengikut tarikh, yang terbaru dahulu written
ms tidak perlu mengulang panggilan written
ms Semak bahawa token belum tamat tempoh written
ms padam fail lama sebelum kita mulakan written
ms Di sini kita mengendalikan semua pengecualian written
ms bundarkan kepada nombor bulat yang terdekat written
ms menunggu pelayan sedia written
ms Parameter adalah pilihan, nilai lalai ialah sifar written
ms panggil fungsi dua kali untuk pastikan written
ms tulis log ke cakera setiap jam written
ms Ini hanya berfungsi pada Linux written
ms kita langkau baris kosong written
ms kemas kini pembilang apabila rekod baharu masuk written
ms buang pendua daripada hasil written
ms Guna giliran supaya kerja tidak menyekat written
ms folder teratas dalam projek written
ms lalui pokok dari akar ke bawah written
ms Kelas ini menjejaki sesi written
ms jika nama kosong, guna nama lalai written
ms semak sama ada port sedang digunakan written
ms Kira purata sepuluh ukuran terakhir written
ms kita perlukan penyelesaian yang lebih baik nanti written
ms Tetapkan masa kepada tengah malam written
ms membaca seluruh fail ke dalam memori written
ms Awas, di sini boleh berlaku keadaan perlumbaan written
ms alihkan fail ke folder arkib written
ms Ini hanya untuk ujian written
ms cari dalam jadual mengikut nama written
ms mendapatkan halaman seterusnya bagi hasil written
ms kenapa kita buat begini? Kerana pelayan memerlukannya written
ms simpan perubahan dan tutup tetingkap written
de Hole den Benutzer aus der Datenbank written
de Diese Funktion berechnet die Summe des Warenkorbs written
de wir müssen die Verbindung danach schließen written
de Gibt wahr zurück, wenn die Datei existiert written
de Speichere das Ergebnis in einem temporären Ordner written
de hier prüfen wir, ob der Benutzer Zugriff hat written
de Lies die Konfiguration aus den Umgebungsvariablen written
de wenn keine Antwort kommt, versuchen wir es erneut written
de Das ist nur eine vorläufige Lösung written
de Fehlermeldung muss dem Benutzer angezeigt werden written
de lösche die alten Dateien, bevor wir anfangen written
de Achtung, hier kann ein Wettlauf entstehen written
sv hämta användaren från databasen written
sv Den här funktionen räknar ut summan av varukorgen written
sv vi måste stänga anslutningen efteråt written
sv returnerar sant om filen finns written
sv Spara resultatet i en tillfällig mapp written
sv här kontrollerar vi om användaren har åtkomst written
sv läs konfigurationen från miljövariablerna written
sv om det inte kommer något svar försöker vi igen written
sv Det här är bara en tillfällig lösning written
sv felmeddelandet ska visas för användaren written
sv ta bort de gamla filerna innan vi börjar written
sv Se upp, här kan det uppstå en tävlingssituation written
no hent brukeren fra databasen written
no Denne funksjonen beregner summen av handlekurven written
no vi må huske å lukke forbindelsen etterpå written
no returnerer sant hvis filen finnes written
no Lagre resultatet i en midlertidig mappe written
no her sjekker vi om brukeren har tilgang written
no les konfigurasjonen fra miljøvariablene written
no hvis det ikke kommer noe svar, prøver vi igjen written
no Dette er bare en midlertidig løsning written
no feilmeldingen skal vises til brukeren written
no slett de gamle filene før vi begynner written
no Pass på, her kan det oppstå en kappløpstilstand written
fr récupère l'utilisateur depuis la base de données written
fr Cette fonction calcule le total du panier written
fr il faut penser à fermer la connexion ensuite written
fr renvoie vrai si le fichier existe written
fr Enregistre le résultat dans un dossier temporaire written
fr ici on vérifie si l'utilisateur a accès written
fr lit la configuration depuis les variables d'environnement written
fr s'il n'y a pas de réponse, on réessaie written
fr Ce n'est qu'une solution provisoire written
fr le message d'erreur doit être affiché à l'utilisateur written
fr supprime les anciens fichiers avant de commencer written
fr Attention, une condition de concurrence peut survenir ici written
1 lang text origin
2 da hent brugeren fra databasen written
3 da Denne funktion beregner totalen for kurven written
4 da vi skal huske at lukke forbindelsen bagefter written
5 da TODO: ret fejlen når listen er tom written
6 da returnerer sandt hvis filen findes written
7 da Gem resultatet i en midlertidig mappe written
8 da her tjekker vi om brugeren har adgang written
9 da læs konfigurationen fra miljøvariablerne written
10 da hvis der ikke er noget svar, prøver vi igen written
11 da Opret en ny forbindelse til serveren written
12 da dette er en midlertidig løsning indtil videre written
13 da loop gennem alle filerne og tæl linjerne written
14 da Vi bruger en cache for at spare tid written
15 da fejlbesked skal vises til brugeren written
16 da sorter listen efter dato, nyeste først written
17 da ingen grund til at gentage kaldet written
18 da Kontroller at tokenet ikke er udløbet written
19 da slet de gamle filer før vi starter written
20 da Her håndterer vi alle undtagelser written
21 da afrund til nærmeste hele tal written
22 da venter på at serveren bliver klar written
23 da Parametrene er valgfrie, standardværdien er nul written
24 da kald funktionen to gange for at være sikker written
25 da skriv loggen til disken hver time written
26 da Det her virker kun på Linux written
27 da vi springer tomme linjer over written
28 da opdater tælleren når en ny post kommer ind written
29 da fjern dubletter fra resultatet written
30 da Brug en kø så arbejdet ikke blokerer written
31 da den øverste mappe i projektet written
32 da gennemløb træet fra roden og ned written
33 da Denne klasse holder styr på sessionerne written
34 da hvis navnet er tomt, brug standardnavnet written
35 da tjek om porten er optaget written
36 da Beregn gennemsnittet af de sidste ti målinger written
37 da vi skal have en bedre løsning her senere written
38 da Sæt tiden til midnat written
39 da læser hele filen ind i hukommelsen written
40 da Pas på, her kan der opstå en kapløbstilstand written
41 da flyt filen til arkivmappen written
42 da Dette er kun til test written
43 da slå op i tabellen efter navn written
44 da henter næste side af resultaterne written
45 da hvorfor gør vi det her? Fordi serveren kræver det written
46 da gem ændringerne og luk vinduet written
47 ms dapatkan pengguna daripada pangkalan data written
48 ms Fungsi ini mengira jumlah bagi troli written
49 ms kita perlu ingat untuk menutup sambungan selepas itu written
50 ms TODO: betulkan ralat apabila senarai kosong written
51 ms mengembalikan benar jika fail wujud written
52 ms Simpan hasil dalam folder sementara written
53 ms di sini kita semak sama ada pengguna mempunyai akses written
54 ms baca konfigurasi daripada pemboleh ubah persekitaran written
55 ms jika tiada jawapan, kita cuba lagi written
56 ms Buat sambungan baharu ke pelayan written
57 ms ini penyelesaian sementara buat masa ini written
58 ms ulang semua fail dan kira baris written
59 ms Kita guna cache untuk jimat masa written
60 ms mesej ralat mesti dipaparkan kepada pengguna written
61 ms susun senarai mengikut tarikh, yang terbaru dahulu written
62 ms tidak perlu mengulang panggilan written
63 ms Semak bahawa token belum tamat tempoh written
64 ms padam fail lama sebelum kita mulakan written
65 ms Di sini kita mengendalikan semua pengecualian written
66 ms bundarkan kepada nombor bulat yang terdekat written
67 ms menunggu pelayan sedia written
68 ms Parameter adalah pilihan, nilai lalai ialah sifar written
69 ms panggil fungsi dua kali untuk pastikan written
70 ms tulis log ke cakera setiap jam written
71 ms Ini hanya berfungsi pada Linux written
72 ms kita langkau baris kosong written
73 ms kemas kini pembilang apabila rekod baharu masuk written
74 ms buang pendua daripada hasil written
75 ms Guna giliran supaya kerja tidak menyekat written
76 ms folder teratas dalam projek written
77 ms lalui pokok dari akar ke bawah written
78 ms Kelas ini menjejaki sesi written
79 ms jika nama kosong, guna nama lalai written
80 ms semak sama ada port sedang digunakan written
81 ms Kira purata sepuluh ukuran terakhir written
82 ms kita perlukan penyelesaian yang lebih baik nanti written
83 ms Tetapkan masa kepada tengah malam written
84 ms membaca seluruh fail ke dalam memori written
85 ms Awas, di sini boleh berlaku keadaan perlumbaan written
86 ms alihkan fail ke folder arkib written
87 ms Ini hanya untuk ujian written
88 ms cari dalam jadual mengikut nama written
89 ms mendapatkan halaman seterusnya bagi hasil written
90 ms kenapa kita buat begini? Kerana pelayan memerlukannya written
91 ms simpan perubahan dan tutup tetingkap written
92 de Hole den Benutzer aus der Datenbank written
93 de Diese Funktion berechnet die Summe des Warenkorbs written
94 de wir müssen die Verbindung danach schließen written
95 de Gibt wahr zurück, wenn die Datei existiert written
96 de Speichere das Ergebnis in einem temporären Ordner written
97 de hier prüfen wir, ob der Benutzer Zugriff hat written
98 de Lies die Konfiguration aus den Umgebungsvariablen written
99 de wenn keine Antwort kommt, versuchen wir es erneut written
100 de Das ist nur eine vorläufige Lösung written
101 de Fehlermeldung muss dem Benutzer angezeigt werden written
102 de lösche die alten Dateien, bevor wir anfangen written
103 de Achtung, hier kann ein Wettlauf entstehen written
104 sv hämta användaren från databasen written
105 sv Den här funktionen räknar ut summan av varukorgen written
106 sv vi måste stänga anslutningen efteråt written
107 sv returnerar sant om filen finns written
108 sv Spara resultatet i en tillfällig mapp written
109 sv här kontrollerar vi om användaren har åtkomst written
110 sv läs konfigurationen från miljövariablerna written
111 sv om det inte kommer något svar försöker vi igen written
112 sv Det här är bara en tillfällig lösning written
113 sv felmeddelandet ska visas för användaren written
114 sv ta bort de gamla filerna innan vi börjar written
115 sv Se upp, här kan det uppstå en tävlingssituation written
116 no hent brukeren fra databasen written
117 no Denne funksjonen beregner summen av handlekurven written
118 no vi må huske å lukke forbindelsen etterpå written
119 no returnerer sant hvis filen finnes written
120 no Lagre resultatet i en midlertidig mappe written
121 no her sjekker vi om brukeren har tilgang written
122 no les konfigurasjonen fra miljøvariablene written
123 no hvis det ikke kommer noe svar, prøver vi igjen written
124 no Dette er bare en midlertidig løsning written
125 no feilmeldingen skal vises til brukeren written
126 no slett de gamle filene før vi begynner written
127 no Pass på, her kan det oppstå en kappløpstilstand written
128 fr récupère l'utilisateur depuis la base de données written
129 fr Cette fonction calcule le total du panier written
130 fr il faut penser à fermer la connexion ensuite written
131 fr renvoie vrai si le fichier existe written
132 fr Enregistre le résultat dans un dossier temporaire written
133 fr ici on vérifie si l'utilisateur a accès written
134 fr lit la configuration depuis les variables d'environnement written
135 fr s'il n'y a pas de réponse, on réessaie written
136 fr Ce n'est qu'une solution provisoire written
137 fr le message d'erreur doit être affiché à l'utilisateur written
138 fr supprime les anciens fichiers avant de commencer written
139 fr Attention, une condition de concurrence peut survenir ici written