Skip to content

Commit 9fac873

Browse files
committed
docs/infrastructure: add guide
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
1 parent c40f65a commit 9fac873

1 file changed

Lines changed: 56 additions & 0 deletions

File tree

docs/infrastructure.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Infrastructure
2+
3+
The [python-wheels](https://github.com/riseproject-dev/python-wheels) project
4+
makes use of some supplemental infrastructure available both on GitHub, and
5+
externally. The following sections outline these services and how to
6+
configure/maintain them.
7+
8+
## RISE RISC-V Runners
9+
10+
For RISE-hosted builds of Python wheels and upstream submissions, the
11+
`python-wheels` repository uses the [RISC-V
12+
Runners](https://riscv-runners.riseproject.dev/) project. It is already enabled
13+
for the repository; to reconfigure, see the [installation
14+
guide](https://riscv-runners.riseproject.dev/docs/getting-started/install).
15+
16+
## GitLab
17+
18+
The `python-wheels` project is a continuation of
19+
[wheel_builder](https://gitlab.com/riseproject/python/wheel_builder), which is
20+
hosted on GitLab. This project leverages the GitLab CI/CD framework to create
21+
pipelines for building, testing, and deploying wheels, along with automatic
22+
documentation updates and periodic checks for new package versions upstream.
23+
24+
While development and maintenance now primarily occur on GitHub, the existing
25+
GitLab infrastructure (particularly the package registry) must be maintained.
26+
27+
### GitLab for Open Source
28+
29+
We apply for the [GitLab for Open
30+
Source](https://about.gitlab.com/solutions/open-source/join/) program.
31+
Membership requires annual renewal.
32+
33+
### CI/CD Pipeline Tokens and Access
34+
35+
The GitLab CI/CD pipelines make use of project tokens, generated at different
36+
project scopes. Two tokens are defined:
37+
38+
1. `PYTHON_CI_GROUP_TOKEN` - Defined at the "Group"
39+
([Python](https://gitlab.com/riseproject/python)) level. Used for triggering
40+
pipelines for merge requests and most automatic updates and checks. The value
41+
of this token is inherited by `wheel_builder` as `PYTHON_CI_GROUP_TOKEN`
42+
under `Settings -> CI/CD Settings -> Variables` (see the [CI/CD variables
43+
panel](https://gitlab.com/riseproject/python/wheel_builder/-/settings/ci_cd#js-cicd-variables-settings)).
44+
2. `rise-github-package-registry` - Defined at the "Repository"
45+
([wheel_builder](https://gitlab.com/riseproject/python/wheel_builder/-/settings/repository#js-deploy-tokens))
46+
level. Used for pushing wheels to the GitLab package registry from GitHub.
47+
48+
These tokens are generated with a 1-year expiry timeline, so they need to be
49+
regenerated by a project administrator/owner.
50+
51+
#### Token Scope Reference
52+
53+
| Token | Level | Role | Scopes | Used For | Expiry |
54+
|-------|-------|------|--------|----------|--------|
55+
| `PYTHON_CI_GROUP_TOKEN` | Group ([Python](https://gitlab.com/riseproject/python)) | Maintainer | `api`, `read_api`, `read_repository`, `write_repository`) | MR pipeline triggers, auto updates/checks | 1 year (Unknown expiry) |
56+
| `rise-github-package-registry` | Repository deploy token ([wheel_builder](https://gitlab.com/riseproject/python/wheel_builder/-/settings/repository#js-deploy-tokens)) | n/a (deploy token) | `read_package_registry`, `write_package_registry`) | Push wheels GitHub → GitLab package registry | 1 year (June 29th, 2027) |

0 commit comments

Comments
 (0)