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
Owner

PRs #52 and #53 were merged into side branches, so this brings their work into main, merged with the credentials work already on main.

MIL-006

  • PROJECT_LICENSE in config.env (a Gitea license key or none), checked before any request, never asked.
  • Without it AGPL-3.0 applies only when GitHub is chosen and the project is public.
  • Applied on Gitea with or without GitHub; the server must offer it. Plan and summary name it and its source.

MIL-007

  • git submodule update --init --recursive after adding or reusing the framework, so framework/qc is filled.
  • The script follows links, so a link in a PATH folder works; the project is created under the folder it is started in.
  • config.env: --config, else ./config.env, else the checkout's (required). .env: --env, else ./.env, else the checkout's, and optional as on main (a missing credential is asked). Files are named; a file from the working folder needs a yes (default no) before the first request.
  • README: where to start the script, a global command with its check, the lookup order.

Merge note: .env stays optional (MIL-005); config.env is required. Full suite: 1136 checks, 0 failed.

Closes #44
Closes #45
Closes #46
Closes #50
Closes #47
Closes #48
Closes #49
Closes #51

PRs #52 and #53 were merged into side branches, so this brings their work into `main`, merged with the credentials work already on `main`. MIL-006 - `PROJECT_LICENSE` in config.env (a Gitea license key or `none`), checked before any request, never asked. - Without it AGPL-3.0 applies only when GitHub is chosen and the project is public. - Applied on Gitea with or without GitHub; the server must offer it. Plan and summary name it and its source. MIL-007 - `git submodule update --init --recursive` after adding or reusing the framework, so `framework/qc` is filled. - The script follows links, so a link in a PATH folder works; the project is created under the folder it is started in. - `config.env`: `--config`, else `./config.env`, else the checkout's (required). `.env`: `--env`, else `./.env`, else the checkout's, and optional as on main (a missing credential is asked). Files are named; a file from the working folder needs a yes (default no) before the first request. - README: where to start the script, a global command with its check, the lookup order. Merge note: `.env` stays optional (MIL-005); `config.env` is required. Full suite: 1136 checks, 0 failed. Closes #44 Closes #45 Closes #46 Closes #50 Closes #47 Closes #48 Closes #49 Closes #51
Tirsvad added 11 commits 2026-10-07 08:49:28 +02:00
The sync matches issues by title, so Test every case moved issue #39 of MIL-005.
- --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
- 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
A private project with GitHub no longer gets a license, so only a public one expects it.

Task: MIL-006#4
Refs #50
- 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
- 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
Reviewed-on: #53
Tirsvad added 2 commits 2026-10-07 08:49:28 +02:00
Tirsvad merged commit 35601009bc into main 2026-10-07 09:03:19 +02:00
Sign in to join this conversation.