Skip to content

Commit b49b5f9

Browse files
committed
docs(release): figer le changelog et le processus de publication v1.0.0
1 parent 7d8a2f9 commit b49b5f9

5 files changed

Lines changed: 136 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
5+
The format is based on Keep a Changelog and the project follows Semantic Versioning for release tags.
6+
7+
## [1.0.0] - 2026-04-08
8+
9+
### Added
10+
- Structured CLI groups for GUI, engines, workspace, diagnostics, scaffolding, and CI precheck flows.
11+
- Workspace bootstrap commands (`init`, `config-auto` / `cfg-auto`, `ws` alias) designed for headless and CI usage.
12+
- Dedicated `prog-engine` GUI flow with workspace-aware config editing.
13+
- ARK self-build (dogfooding) workflow in GitHub Actions using ARK CLI + Nuitka.
14+
- Release pipeline workflow producing artifacts and checksums from version tags (`v*.*.*`).
15+
16+
### Changed
17+
- CLI orchestration aligned with Core logic to reduce duplication and improve behavior parity.
18+
- CI/CD path hardened around fail-fast behavior for precheck and BCASL steps.
19+
- JSON-oriented CLI outputs standardized for machine parsing in automation contexts.
20+
- Documentation consolidated around CI/CD usage and reproducible workspace behavior (`.ark/` + config files).
21+
22+
### Fixed
23+
- Cancellation and process-termination handling strengthened across compilation and plugin execution paths.
24+
- Multiple GUI/runtime integration regressions fixed (engine loading, workspace propagation, UI sync cases).
25+
- Headless/system dependency handling made safer for non-interactive environments.
26+
- Test suite reliability improved with temporary-directory based isolation where required.
27+
28+
### Documentation
29+
- Broad documentation refresh for CLI, CI/CD flow, IDE-like GUI behavior, and contribution guidance.
30+
- Docstring normalization to English across major modules while preserving concise French inline comments where requested.
31+
32+
### Notes
33+
- This is the first stable public release candidate baseline for tag `v1.0.0`.
34+
- Release artifacts are generated by `.github/workflows/release.yml`.
35+

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ python -m OnlyMod.EngineOnlyMod --engine nuitka -f script.py --dry-run
176176

177177
## Documentation
178178

179+
- [Changelog](CHANGELOG.md)
180+
- [Release process](docs/release_process.md)
181+
- [Release notes v1.0.0](docs/releases/v1.0.0.md)
179182
- [Architecture overview](docs/architecture.md)
180183
- [Contributing guide](docs/contributing.md)
181184
- [CI/CD with ARK CLI](docs/ci_cd_ark_cli.md)

docs/contributing.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ For reliable prechecks, point `check --strict` at a workspace that already
5555
defines an entrypoint in `ARK_Main_Config.yml`.
5656

5757
Release-oriented checks should follow the CLI examples in this guide and the README.
58+
For publishing steps, follow [`docs/release_process.md`](./release_process.md).
5859

5960
## Where to make changes
6061

@@ -93,6 +94,7 @@ Contributors should update documentation when they modify:
9394

9495
## Good first doc touchpoints
9596

97+
- [Release process](./release_process.md)
9698
- [Architecture overview](./architecture.md)
9799
- [Dependency analyzer](./dependency_analyzer.md)
98100
- [Dedicated CLI](./dedicated_cli.md)

docs/release_process.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Release Process
2+
3+
This document is the release source of truth for PyCompiler ARK.
4+
5+
## Scope
6+
7+
Use this process for all public tags, starting with `v1.0.0`.
8+
9+
## 1. Freeze
10+
11+
1. Ensure `main` is green on CI (`lint`, `tests`, `smoke`).
12+
2. Stop feature merges; accept only release blockers.
13+
3. Confirm `CHANGELOG.md` is updated for the target version.
14+
4. Confirm docs impacted by behavior changes are updated (`README.md`, `docs/ci_cd_ark_cli.md`, feature docs).
15+
16+
## 2. Local validation
17+
18+
Run at minimum:
19+
20+
```bash
21+
ruff check .
22+
black --check .
23+
pytest -q tests
24+
python -m compileall -q Core OnlyMod bcasl Plugins_SDK EngineLoader cli engine_sdk Plugins pycompiler_ark.py
25+
python -m pycompiler_ark --help
26+
python -m pycompiler_ark --version
27+
python -m pycompiler_ark doctor --json
28+
```
29+
30+
Optional but recommended:
31+
32+
```bash
33+
python -m pycompiler_ark check /path/to/workspace --json --strict
34+
python -m pycompiler_ark engine list --json
35+
```
36+
37+
## 3. Tag and publish
38+
39+
1. Create and push a semantic tag:
40+
41+
```bash
42+
git checkout main
43+
git pull --ff-only
44+
git tag -a v1.0.0 -m "PyCompiler ARK v1.0.0"
45+
git push origin v1.0.0
46+
```
47+
48+
2. GitHub Actions `release.yml` triggers on the tag and publishes:
49+
- platform artifacts
50+
- per-file checksums
51+
- combined checksums
52+
53+
## 4. Post-release checks
54+
55+
1. Verify the GitHub Release exists and is not missing assets.
56+
2. Validate checksums file is present.
57+
3. Add follow-up issues for any deferred fixes.
58+
59+
## 5. Rollback guidance
60+
61+
If a critical release blocker is found after tagging:
62+
63+
1. Create a hotfix commit on `main`.
64+
2. Tag next patch (`vX.Y.Z+1`) instead of reusing the previous tag.
65+
3. Publish release notes describing the fix delta.
66+

docs/releases/v1.0.0.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# PyCompiler ARK v1.0.0
2+
3+
First stable public baseline release of PyCompiler ARK.
4+
5+
## Highlights
6+
7+
- CLI and Core behavior parity improved for headless and CI/CD scenarios.
8+
- Workspace bootstrap and auto-config flows stabilized (`init`, `cfg-auto`, `check`).
9+
- BCASL and compilation orchestration hardened with stricter fail-fast expectations.
10+
- Dedicated GUI paths (`main`, `engines`, `bcasl`, `prog-engine`) refined for workspace-driven workflows.
11+
- CI automation includes ARK self-build dogfooding and tag-based release artifact publishing.
12+
13+
## Compatibility notes
14+
15+
- Recommended Python versions in CI: 3.12 and 3.13.
16+
- Release artifacts are produced by GitHub Actions from semantic tags (`v*.*.*`).
17+
18+
## Reproducibility notes
19+
20+
- Commit workspace configuration files needed for deterministic runs:
21+
- `ARK_Main_Config.yml`
22+
- `bcasl.yml` (if BCASL is used)
23+
- `.ark/` content when engine/runtime preferences are required by your workflow
24+
25+
## Checks run before freeze
26+
27+
- Lint, tests, and smoke workflows on CI.
28+
- Local compile sanity:
29+
- `python -m compileall -q Core OnlyMod bcasl Plugins_SDK EngineLoader cli engine_sdk Plugins pycompiler_ark.py`
30+

0 commit comments

Comments
 (0)