https://github.com/rapidsai/gha-tools
User tools for RAPIDS GitHub Actions
https://github.com/rapidsai/gha-tools
Last synced: 7 days ago
JSON representation
User tools for RAPIDS GitHub Actions
- Host: GitHub
- URL: https://github.com/rapidsai/gha-tools
- Owner: rapidsai
- License: apache-2.0
- Created: 2022-07-15T15:27:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-06-02T21:48:38.000Z (8 months ago)
- Last Synced: 2025-06-03T06:57:21.899Z (8 months ago)
- Language: Shell
- Size: 242 KB
- Stars: 3
- Watchers: 7
- Forks: 19
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# gha-tools
User tools for RAPIDS GitHub Actions workflows.
### Install gha-tools
This tools repo can be installed from GitHub directly with git clone or wget commands. Examples:
```yml
- name: Download gha-tools with git clone
run: |
git clone https://github.com/rapidsai/gha-tools.git -b main /tmp/gha-tools
echo "/tmp/gha-tools/tools" >> "${GITHUB_PATH}"
- name: Download gha-tools release tarball with wget
run: |
wget https://github.com/rapidsai/gha-tools/releases/latest/download/tools.tar.gz -O - | tar -xz -C /usr/local/bin
```
### Environment variables and variable naming conventions
Scripts here get much of their configuration from environment variables.
Those tend to follow these conventions:
* Environment variables should be capitalized, local variables should be lower-case
* RAPIDS-specific environment variables should be named `RAPIDS_*`
* This distinguishes them from external environment variables e.g. `GITHUB_*` that are defined by GitHub Actions
In GitHub Actions, the [default secret GITHUB_TOKEN](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow) can be used by setting:
```yaml
env:
RAPIDS_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
### Managing CI artifacts
This project contains some scripts for managing CI artifacts.
* `rapids-download-{conda,wheels}-from-github`: download conda packages and wheels from the GitHub Actions artifact store
* `rapids-get-pr-artifact`: downloads conda packages or wheels produced by pull rquest CI in another repo
* `rapids-upload-to-anaconda-github`: downloads conda packages from GitHub Actions artifact store and uploads conda channels on anaconda.org
* `rapids-wheels-anaconda-github`: downloads wheels from GitHub Actions artifact store and uploads them to the RAPIDS nightly index at https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/
* `rapids-package-name`: takes a package type and generate the artifact name (e.g. `conda_cpp` -> `rmm_conda_cpp_x86_64.tar.gz`)
It also contains some scripts for working with CI artifacts on `downloads.rapids.ai`.
* `rapids-upload-to-s3`: upload arbitrary files to the `downloads.rapids.ai` S3 bucket
For more details, see the RAPIDS maintain docs:
* "GitHub Actions" ([link](https://docs.rapids.ai/resources/github-actions/))
* "Reproducing CI Locally" ([link](https://docs.rapids.ai/resources/reproducing-ci/))
### Testing Scripts Locally
See [CONTRIBUTING.md](CONTRIBUTING.md) for instructions on how to test these scripts locally.