build: produce both release validator executables
This commit is contained in:
@@ -2,11 +2,14 @@ CC = gcc
|
||||
CFLAGS = -std=c99 -O0
|
||||
LDFLAGS = -lm
|
||||
|
||||
all: claro
|
||||
all: claro claro.exe
|
||||
|
||||
claro: src/claro.c
|
||||
$(CC) $(CFLAGS) -o claro src/claro.c $(LDFLAGS)
|
||||
|
||||
claro.exe: src/claro.c
|
||||
$(CC) $(CFLAGS) -o claro.exe src/claro.c $(LDFLAGS)
|
||||
|
||||
test: claro
|
||||
./claro test
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ python3 tools/validate_package_security.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
|
||||
|
||||
|
||||
@@ -102,6 +102,7 @@ Ready now:
|
||||
- `claro package add/list/remove/doctor/lock`
|
||||
- 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`
|
||||
- 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
|
||||
- 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`
|
||||
|
||||
Reference in New Issue
Block a user