gh cli release script
This commit is contained in:
40
Makefile
40
Makefile
@@ -1,23 +1,28 @@
|
||||
.PHONY: help all readme validate add-app normalize publish
|
||||
.PHONY: help all readme validate add-app normalize publish publish/dry-run publish/from-file
|
||||
default: help
|
||||
|
||||
help: # Show help for each of the makefile recipes.
|
||||
@grep -E '^[a-zA-Z0-9 -]+:.*#' Makefile | sort | while read -r l; \
|
||||
do printf "\033[1;32m$$(echo $$l | cut -f 1 -d':')\033[00m:$$(echo $$l | cut -f 2- -d'#')\n"; done
|
||||
|
||||
release: validate normalize readme minify minify-dual-screen # Run all Make targets related to cutting a release.
|
||||
|
||||
validate: # Validate applications.json for errors
|
||||
@python scripts/validate-json.py src/applications.json
|
||||
# ---------------------------------------------------------------------------
|
||||
# Apps
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
add-app: # Interactive CLI to add a new app
|
||||
@python scripts/add-app.py
|
||||
|
||||
validate: # Validate applications.json for errors
|
||||
@python scripts/validate-json.py src/applications.json
|
||||
|
||||
normalize: # Normalize key order and add missing defaults in applications.json
|
||||
@python scripts/normalize-json.py src/applications.json
|
||||
|
||||
links: # Generate links for all obtainium packages
|
||||
@python scripts/generate-obtainium-urls.py src/applications.json > scripts/links.md
|
||||
# ---------------------------------------------------------------------------
|
||||
# Build
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
release: validate normalize readme minify minify-dual-screen # Run all Make targets related to cutting a release.
|
||||
|
||||
minify: # Generate standard release JSON
|
||||
@python scripts/minify-json.py src/applications.json obtainium-emulation-pack-latest.json --variant standard
|
||||
@@ -25,8 +30,9 @@ minify: # Generate standard release JSON
|
||||
minify-dual-screen: # Generate dual screen release JSON
|
||||
@python scripts/minify-json.py src/applications.json obtainium-emulation-pack-dual-screen-latest.json --variant dual-screen
|
||||
|
||||
publish: # Tag, push, and create a GitHub release with versioned JSON assets (requires gh CLI)
|
||||
@python scripts/release.py
|
||||
# ---------------------------------------------------------------------------
|
||||
# Docs
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
table: # Generate a table of obtainium links for the README.
|
||||
@python scripts/generate-table.py src/applications.json ./pages/table.md
|
||||
@@ -37,3 +43,19 @@ readme: table # Generate the readme file. Why? Because editing that table every
|
||||
./pages/table.md \
|
||||
./pages/faq.md \
|
||||
./pages/development.md
|
||||
|
||||
links: # Generate links for all obtainium packages
|
||||
@python scripts/generate-obtainium-urls.py src/applications.json > scripts/links.md
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Publish
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
publish: # Tag, push, and create a GitHub release (opens $EDITOR for notes)
|
||||
@python scripts/release.py
|
||||
|
||||
publish/dry-run: # Preview release notes as a markdown file without publishing
|
||||
@python scripts/release.py --dry-run
|
||||
|
||||
publish/from-file: # Publish using a previously edited release notes file (e.g. from publish-dry)
|
||||
@python scripts/release.py --notes-file $(FILE)
|
||||
|
||||
Reference in New Issue
Block a user