ci: schedule nightly race and fuzz, pin actions, add release-check and docs drift
Test / test (push) Successful in 1m37s
Test / test (push) Successful in 1m37s
Assisted-by: GLM 5.3 Flash
This commit is contained in:
@@ -100,11 +100,13 @@ toml-test: build
|
||||
coverage-html: test
|
||||
go tool cover -html=coverage.out -o coverage.html
|
||||
|
||||
# Cross-compile smoke: the library and the command build for the foreign architectures; not a gate, it is a nightly convenience and runs std-lib only.
|
||||
# Cross-compile smoke: the library and the command build for the foreign architectures and the browser and edge runtimes; not a gate, it is a nightly convenience and runs std-lib only.
|
||||
cross:
|
||||
GOARCH=arm64 go build ./...
|
||||
GOARCH=loong64 go build ./...
|
||||
GOARCH=riscv64 go build ./...
|
||||
GOOS=js GOARCH=wasm go build ./...
|
||||
GOOS=wasip1 GOARCH=wasm go build ./...
|
||||
GOARCH=arm64 CGO_ENABLED=0 go build -o /dev/null {{package}}
|
||||
GOARCH=loong64 CGO_ENABLED=0 go build -o /dev/null {{package}}
|
||||
GOARCH=riscv64 CGO_ENABLED=0 go build -o /dev/null {{package}}
|
||||
@@ -112,3 +114,27 @@ cross:
|
||||
# Runs the example program under examples/basic; not standard because `run` runs the adapter, and an example is documentation, not the product.
|
||||
example:
|
||||
go run ./examples/basic
|
||||
|
||||
# The release pre-flight from the release skill, in one command: the branch, a clean tree, a sync with origin, the gates, and a CHANGELOG section ready to release. Not a gate, it is the checklist before a release may even be discussed.
|
||||
release-check version:
|
||||
#!/usr/bin/env perl
|
||||
my ($version) = @ARGV;
|
||||
$version =~ m{\Av?\d+\.\d+\.\d+\z} or die qq{usage: just release-check X.Y.Z\n};
|
||||
my $branch = qx{git rev-parse --abbrev-ref HEAD};
|
||||
chomp $branch;
|
||||
$branch eq q{development} or die qq{release-check: on '$branch', cut releases from development\n};
|
||||
my $dirty = qx{git status --porcelain};
|
||||
$dirty eq q{} or die qq{release-check: the working tree is dirty\n};
|
||||
system(qw{git fetch origin}) == 0 or die qq{release-check: git fetch failed\n};
|
||||
my $local = qx{git rev-parse development};
|
||||
my $remote = qx{git rev-parse origin/development};
|
||||
$local eq $remote or die qq{release-check: development is out of sync with origin\n};
|
||||
my $changelog = do { open(my $fh, q{<}, q{CHANGELOG.md}) or die qq{release-check: cannot read CHANGELOG.md: $!\n}; local $/; <$fh> };
|
||||
$changelog =~ m{## \[development\]\n\n### \w+} or die qq{release-check: the [development] section of CHANGELOG.md is missing or empty\n};
|
||||
print qq{branch, tree, sync and changelog verified; running the gates\n};
|
||||
system(qw{just gates}) == 0 or die qq{release-check: the gates failed\n};
|
||||
print qq{release-check: ready to release $version\n};
|
||||
|
||||
# Compares the toml-test counts the documentation names with the live suite run; not standard, it exists because a corpus change used to be corrected by hand.
|
||||
docs-drift:
|
||||
perl scripts/docs-drift.pl
|
||||
|
||||
Reference in New Issue
Block a user