systems:ci
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
systems:ci [2025/02/17 17:01] – created calvinb | systems:ci [2025/02/27 15:33] (current) – make link calvinb | ||
---|---|---|---|
Line 8: | Line 8: | ||
===== Self-hosted runner systems ===== | ===== Self-hosted runner systems ===== | ||
- | Currently, none are run by the project/ | + | Currently, none are run by the project/ |
^ Name ^ Architecture ^ OS ^ CI Platform ^ Provided by ^ Notes ^ | ^ Name ^ Architecture ^ OS ^ CI Platform ^ Provided by ^ Notes ^ | ||
- | | php-ci-ppc64 | PowerPC 64-bit, big endian | Gentoo | GitHub Actions (github-act-runner) | calvinb@php.net | Attached, not yet running jobs | | + | | [[systems:php-ci-ppc64|php-ci-ppc64]] |
+ | |||
+ | ==== Provisioning new runners ==== | ||
+ | |||
+ | New self-hosted runners should only be necessary if we can't use a hosted platform for it (or a hosted platform is too expensive). Integrating with GitHub Actions is preferable. For platforms that the official GitHub Actions runner doesn' | ||
+ | |||
+ | The process looks something like this: | ||
+ | |||
+ | - Set up your runner, and make your fork of php-src use it. It's recommended you add a nightly flow instead of push, unless you have i.e. autoscaling. Iterate and trigger nightly runs manually. | ||
+ | - If your added workflow is in a good state, create a PR for it. | ||
+ | - Once the workflow is ready to be merged, but before it is merged, get the runner added to the php/php-src repository. | ||
+ | |||
+ | == Notes on setup for non-Docker runners == | ||
+ | |||
+ | For platforms that aren't containerized, | ||
+ | |||
+ | Installing necessary libraries will depend on your OS and what extensions you want to test. | ||
+ | |||
+ | **DBA**: You may need to use QDBM instead of GDBM. | ||
+ | |||
+ | **Postgres**: | ||
+ | |||
+ | < | ||
+ | CREATE ROLE ‘ci’ WITH LOGIN; | ||
+ | \password ci | ||
+ | CREATE DATABASE test WITH OWNER ci; | ||
+ | </ | ||
+ | |||
+ | **MySQL**: The tests assume MySQL 8; you may run into issues with MariaDB. If you're running a non-root user, you must either set log_bin to off or log_bin_trust_function_creators to on. For creating a user and database: | ||
+ | |||
+ | < | ||
+ | CREATE DATABASE TEST; | ||
+ | CREATE USER ' | ||
+ | GRANT SELECT, CREATE, DROP, SUPER ON *.* TO ' | ||
+ | GRANT ALL PRIVILEGES ON test.* TO ' | ||
+ | </ |
systems/ci.1739811717.txt.gz · Last modified: 2025/02/17 17:01 by calvinb