Implement MIL-006 and MIL-007: project license, qc submodules, link start, default configuration files #54

Merged
Tirsvad merged 11 commits from mil-006-license into main 2026-10-07 09:03:19 +02:00
11 Commits
Author SHA1 Message Date
Tirsvad 049075957a Merge origin/mil-006-license: .env stays optional, config.env is required 2026-10-07 14:34:04 +08:00
Tirsvad ed79da4e34 Merge main into mil-006-license 2026-10-07 14:19:41 +08:00
Tirsvad fcc155a8ff Merge pull request 'Implement MIL-007: qc submodules fetched, start through a link, default configuration files' (#53) from mil-007-impl into mil-006-license
Reviewed-on: #53
2026-10-07 08:17:22 +02:00
Tirsvad 3204e20cac MIL-007: fix the new tests and document starting from any folder
- README: start from the folder where the project is created, make the script a global command, where config.env and .env are read from and the confirmation
- Tests: qc tests set up the temp directory and force a real failure; the default-files test runs from a folder without files of its own; the link test allows for path aliases; the work directory cleanup deletes links

Task: MIL-007#3
Task: MIL-007#4
Refs #49
Refs #51
2026-10-07 14:09:27 +08:00
Tirsvad 1a283430b3 WIP MIL-007: fetch the framework's qc, follow links, default configuration files
- git submodule update --init --recursive after adding or reusing the framework
- Follow links to the script so SCRIPT_DIR and the checkout are the real ones
- config.env and .env: --config/--env, else ./ in the working folder, else the checkout's
- Name the files used; a file from the working folder needs a yes before any request
- MIL-007 accepted; test fixtures for the qc checklists; tests/test-launch.sh

Work in progress: the README section is not written yet, and four tests of
test-launch.sh fail and two shellcheck warnings remain; they are fixed next.

Task: MIL-007#1
Task: MIL-007#2
Refs #47
Refs #48
Refs #51
2026-10-07 13:40:42 +08:00
Tirsvad 875dfba1b2 Use a public project in the test that reuses a repository holding LICENSE and README.md
A private project with GitHub no longer gets a license, so only a public one expects it.

Task: MIL-006#4
Refs #50
2026-10-07 13:28:47 +08:00
Tirsvad e960dd9da8 Set the project license in config.env; AGPL-3.0 default only for a public GitHub project
- PROJECT_LICENSE (a Gitea license key, or none) is read, checked and never asked
- Without it AGPL-3.0 applies only when GitHub is chosen and the project is public
- The license is applied on Gitea with or without GitHub, and checked against the server first
- Plan and summary name the license and where it came from
- MIL-006 accepted; README and config.env.example document the key
- Tests: new test-license.sh; existing tests use a public project where they expect AGPL-3.0

Task: MIL-006#1
Task: MIL-006#2
Task: MIL-006#3
Task: MIL-006#4
Refs #44
Refs #45
Refs #46
Refs #50
2026-10-07 13:08:49 +08:00
Tirsvad b324acbfae Resolve pending commit links for the default configuration files 2026-10-07 12:42:08 +08:00
Tirsvad 0ab50068bf Plan the default configuration files: working folder first, then the checkout
- --config and --env, else ./config.env and ./.env, else the checkout's
- Files named before any request; a file from the working folder needs a yes
- UC-002, US-002, MIL-007 criteria 9 and 10, models and contracts updated
- Review record RC-029
2026-10-07 12:42:05 +08:00
Tirsvad 88b4e5ce6c Resolve pending commit links for the task renames 2026-10-07 12:38:02 +08:00
Tirsvad be759e3832 Give the test tasks of MIL-006 and MIL-007 their own titles
The sync matches issues by title, so Test every case moved issue #39 of MIL-005.
2026-10-07 12:38:01 +08:00