Add the English-comments check: corpus, ADR-0012, detector, report and reusable workflow #211
Vendored
+301
@@ -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.
|
Vendored
+139
@@ -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
|
||||
|
Reference in New Issue
Block a user