build: produce both release validator executables
This commit is contained in:
@@ -2,11 +2,14 @@ CC = gcc
|
|||||||
CFLAGS = -std=c99 -O0
|
CFLAGS = -std=c99 -O0
|
||||||
LDFLAGS = -lm
|
LDFLAGS = -lm
|
||||||
|
|
||||||
all: claro
|
all: claro claro.exe
|
||||||
|
|
||||||
claro: src/claro.c
|
claro: src/claro.c
|
||||||
$(CC) $(CFLAGS) -o claro src/claro.c $(LDFLAGS)
|
$(CC) $(CFLAGS) -o claro src/claro.c $(LDFLAGS)
|
||||||
|
|
||||||
|
claro.exe: src/claro.c
|
||||||
|
$(CC) $(CFLAGS) -o claro.exe src/claro.c $(LDFLAGS)
|
||||||
|
|
||||||
test: claro
|
test: claro
|
||||||
./claro test
|
./claro test
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ python3 tools/validate_package_security.py
|
|||||||
python3 tools/validate_ci_workflow.py
|
python3 tools/validate_ci_workflow.py
|
||||||
```
|
```
|
||||||
|
|
||||||
The CI workflow validator also requires its own command to remain in an executable `run` step, so the release-gate check cannot silently disappear from CI.
|
The CI workflow validator also requires its own command to remain in an executable `run` step, so the release-gate check cannot silently disappear from CI. `make` builds both `claro` and `claro.exe`, allowing the version validator to exercise the same source build on every platform.
|
||||||
|
|
||||||
## Beginner-first syntax
|
## Beginner-first syntax
|
||||||
|
|
||||||
|
|||||||
@@ -102,6 +102,7 @@ Ready now:
|
|||||||
- `claro package add/list/remove/doctor/lock`
|
- `claro package add/list/remove/doctor/lock`
|
||||||
- local project files such as `claro.project`, `claro.lock`, and `packages/`
|
- local project files such as `claro.project`, `claro.lock`, and `packages/`
|
||||||
- starter projects from `claro new` now use the same manifest-version and lock-version headers as `claro package init`
|
- starter projects from `claro new` now use the same manifest-version and lock-version headers as `claro package init`
|
||||||
|
- the default `make` target builds both `claro` and `claro.exe`, so cross-platform release validators exercise freshly built executables
|
||||||
- project-name safety checks for `claro new`, so unsafe names such as `../bad` are rejected before Claro creates folders
|
- project-name safety checks for `claro new`, so unsafe names such as `../bad` are rejected before Claro creates folders
|
||||||
- package-name safety checks when adding packages, including the 64-character package-name limit, when `claro package doctor` audits an existing `claro.project`, when `claro package lock` writes lockfile data, when `claro package list` shows existing packages, when `claro package init` sees unsafe names already present in `claro.project`, when `claro package add` sees unsafe names already present in `claro.project`, when `claro package remove` refreshes the lockfile after an edit, when learners need to remove an unsafe package entry that is already present, when `claro package doctor` verifies lockfile checksums for listed packages, and when `claro package doctor` rejects lockfile package entries that are not listed in `claro.project`
|
- package-name safety checks when adding packages, including the 64-character package-name limit, when `claro package doctor` audits an existing `claro.project`, when `claro package lock` writes lockfile data, when `claro package list` shows existing packages, when `claro package init` sees unsafe names already present in `claro.project`, when `claro package add` sees unsafe names already present in `claro.project`, when `claro package remove` refreshes the lockfile after an edit, when learners need to remove an unsafe package entry that is already present, when `claro package doctor` verifies lockfile checksums for listed packages, and when `claro package doctor` rejects lockfile package entries that are not listed in `claro.project`
|
||||||
- `claro package doctor` rejects a listed package manifest whose `name:` does not match the package name in `claro.project`
|
- `claro package doctor` rejects a listed package manifest whose `name:` does not match the package name in `claro.project`
|
||||||
|
|||||||
Reference in New Issue
Block a user