msys2-autobuild/README.md
2023-03-23 11:59:37 +01:00

51 lines
1.8 KiB
Markdown

# msys2-autobuild
msys2-autobuild is a Python tool for
* automatically building MSYS2 packages in GitHub Actions
* manually uploading packages, or retrying builds
* retrieving the built packages for upload to the pacman repo
## Installation
```console
$ pacman -S mingw-w64-x86_64-python-tabulate mingw-w64-x86_64-python-pygithub mingw-w64-x86_64-python-requests
# or
$ poetry install
# or
$ python -m pip install --user -r requirements.txt
# or
$ pipx install git+https://github.com/msys2/msys2-autobuild
```
## Usage
```console
$ msys2-autobuild --help
usage: msys2-autobuild [-h]
{build,show,write-build-plan,update-status,fetch-assets,upload-assets,clear-failed,clean-assets}
...
Build packages
options:
-h, --help show this help message and exit
subcommands:
{build,show,write-build-plan,update-status,fetch-assets,upload-assets,clear-failed,clean-assets}
build Build all packages
show Show all packages to be built
write-build-plan Write a GHA build matrix setup
update-status Update the status file
fetch-assets Download all staging packages
upload-assets Upload packages
clear-failed Clear the failed state for packages
clean-assets Clean up GHA assets
```
## Configuration
* `GITHUB_TOKEN` (required) - a GitHub token with write access to the current repo.
* `GITHUB_TOKEN_READONLY` (optional) - a GitHub token with read access to the current repo. This is used for read operations to not get limited by the API access limits.
* `GITHUB_REPOSITORY` (optional) - the path to the GitHub repo this is uploading to. Used for deciding which things can be built and where to upload them to. Defaults to `msys2/msys2-autobuild`.