GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - yeet-src/script-template

BranchesTags
Open more actions menu

Latest commit

 

History

44 Commits
44 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
scripts
scripts
 
 
template
template
 
 
toolchain
toolchain
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 

Repository files navigation

script-template

Template for new yeet scripts. Scaffold one with:

make new DEST=<dir> [NAME=<name>]      # or: scripts/new <dir> [name]

The static build toolchain (clang, bpftool, esbuild, make, git) lives in its own repo, yeet-src/toolchain, vendored here under toolchain/ and pinned to a release tag. Generated projects don't read toolchain/ — they carry their own copies under template/build/ (the embed glue + a toolchain.lock). Refresh both from a toolchain release with:

make sync-toolchain TOOLCHAIN_TAG=v0.8.0      # one rebase-mergeable commit; open a PR

Releasing

Every push to master publishes a versioned snapshot release and marks it GitHub "Latest", so .../releases/latest/download/<asset> always tracks the newest build (no separate rolling tag — GitHub's built-in Latest is the single source of truth). Versions are semver vMAJOR.MINOR.PATCH; CI picks the bump from a [bump:LEVEL] marker in the commit subject (the body is free prose — put the marker on the subject line, like [skip ci]; for squash merges that's the PR title):

Marker Bump Notes
(none) or [bump:minor] minor X.Y+1.0 the default — a normal push
[bump:patch] patch X.Y.Z+1 only if every commit in the release range is [bump:patch]
[bump:major] major X+1.0.0 one such commit makes the whole release major

The release takes the highest level any commit asks for. A PR check (commit-convention.yml) rejects malformed markers (e.g. [bump:pacth]) before merge, so a typo can't silently mis-version a release.

Back-patching an older line

To ship a fix on an older release while master has moved on, fork the line from its tag and PR fixes into it:

git branch release/v0.8 v0.8.0 && git push origin release/v0.8
# open a PR against release/v0.8, then rebase-merge

A push to release/* runs the same workflow but scopes the version by name to that line's tags, so a fix on release/v0.8 publishes v0.8.1 independent of master. On release/* an unmarked commit defaults to a patch bump (not minor) so a hotfix can't collide with a mainline tag. Maintenance branches are manual here (not auto-opened) — master releases on every push, so auto-opening a branch per minor would create one per push.

About

No description, website, or topics provided.

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.