Repository navigation
Installation
The scripts were written and tested on Linux. Clone the whole repository: the release scripts load lib/github-release.sh and lib/release-source.sh relative to their real location. Copying a single script elsewhere breaks that relationship.
git clone https://github.com/phpbbmodders/phpbb-release-tools.git
cd phpbb-release-tools
export PATH="$PWD:$PWD/phpbb-test-board:$PATH"The PATH change applies to the current shell. Add the equivalent absolute paths to your shell configuration if desired, or symlink individual scripts into an existing PATH directory. Preserve the checkout and lib/ directory when using symlinks.
For example, if $HOME/.local/bin already exists and is on PATH, create a symlink from the tools checkout:
ln -s "$PWD/git-extensions.sh" "$HOME/.local/bin/git-extensions.sh"Check whether that destination already exists before running this command. Repeat for the scripts you use; do not use a forced link to replace an existing command unintentionally.
-
git-extensions.sh:git,jq,zip -
git-release-style.sh:git,zip -
git-release-langpack.sh:git,curl,jq,unzip,zip. For--checkalsophp,composerandsha256sum. -
--remoteand--releasealso need an authenticated GitHub CLI (gh),jqandtimeout. Publication also uses GNUstatand needs write permission for releases, tags and assets. -
phpbb-test-board/: see its README. -
pr-wait.py: Python 3.7 or later and an authenticated GitHub CLI (gh).
The Bash scripts also use ordinary Linux utilities. No package installation is performed by the instructions above. Install missing prerequisites using your distribution's supported packages; PHP module package names depend on its PHP version.
For publication and PR monitoring, authenticate the GitHub CLI and check the active account:
gh auth login
gh auth statusThe account must be able to read the target repository and, for publication, create releases, tags and assets. Do not put tokens in scripts or examples. Local extension/style packaging does not need GitHub authentication.
git-extensions.sh --help
git-release-style.sh --help
git-release-langpack.sh --help
pr-wait.py --helpThese help commands do not publish releases. Python board tools can bootstrap a virtual environment even when requesting help; see test-board setup.
From the tools checkout, inspect local modifications before updating:
git status --short
git pull --ff-onlyA fast-forward failure requires resolving local history intentionally. Do not discard local changes to force an update. Existing symlinks keep pointing at the updated checkout.
The retired git-release-api.sh command is replaced by git-extensions.sh --release --remote. See the migration table before updating older aliases or automation.
- Home
- Installation
- Release workflows
- Extension releases
- Style releases
- Language pack releases
- Default branch releases
- GitHub releases and recovery
- Test board setup
- Smoke and feature checks
- Unit tests and PHP lint
- Screenshots
- Rename upgrade checks
- Template accessibility
- Forum update posts
- Waiting for PR checks
- Troubleshooting
- Maintainer checks