agora inbox for [email protected]help / color / mirror / Atom feed
[PATCH v7a 2/3] ci: Rewrite src/tools/ci/README 1510+ messages / 1 participants [nested] [flat]
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --vphnza2cz5zw5t4a Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v8a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --lyfxwjjve3vodszg Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v9a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
* [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README @ 2026-06-02 23:07 Andres Freund <[email protected]> 0 siblings, 0 replies; 1510+ messages in thread From: Andres Freund @ 2026-06-02 23:07 UTC (permalink / raw) To be merged with the prior commit. --- src/tools/ci/README | 77 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 56 deletions(-) diff --git a/src/tools/ci/README b/src/tools/ci/README index d183648a8d0..8776d82ffcc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -17,42 +17,35 @@ Postgres has two forms of CI: Configuring CI on personal repositories ======================================= -Currently postgres contains CI support utilizing cirrus-ci. cirrus-ci -currently is only available for github. +Currently postgres contains CI support utilizing GitHub actions. -Enabling cirrus-ci in a github repository -========================================= +Enabling and using CI in a GitHub repository +============================================ -To enable cirrus-ci on a repository, go to -https://github.com/marketplace/cirrus-ci and select "Public -Repositories". Then "Install it for free" and "Complete order". The next page -allows to configure which repositories cirrus-ci has access to. Choose the -relevant repository and "Install". +The GitHub Actions based CI workflow is active by default, therefore no +configuration is necessary. -See also https://cirrus-ci.org/guide/quick-start/ +CI runs are visible at https://github.com/<username>/<reponame>/actions -Once enabled on a repository, future commits and pull-requests in that -repository will automatically trigger CI builds. These are visible from the -commit history / PRs, and can also be viewed in the cirrus-ci UI at -https://cirrus-ci.com/github/<username>/<reponame>/ +The high-level status of workflow runs on public repositories are visible +without being logged into GitHub, however details including logs require being +logged in. -Hint: all build log files are uploaded to cirrus-ci and can be downloaded -from the "Artifacts" section from the cirrus-ci UI after clicking into a -specific task on a build's summary page. +To disable CI on a repository, navigate to +https://github.com/<username>/<reponame>/actions/workflows/pg-ci.yml +and click on the '...' on the right and choose 'Disable workflow'. +Containers / Images used for CI +=============================== -Images used for CI -================== +To keep CI times tolerable, several platforms use pre-generated containers / +images. The containers and images are generated separately from CI runs, +otherwise each git repository that is being tested would need to build its own +set of containers, which would be wasteful (both in space and time). -To keep CI times tolerable, most platforms use pre-generated images. Some -platforms use containers, others use full VMs. Images for both are generated -separately from CI runs, otherwise each git repository that is being tested -would need to build its own set of containers, which would be wasteful (both -in space and time. - -These images are built, on a daily basis, from the specifications in -github.com/anarazel/pg-vm-images/ +These containers / images are built, on a daily basis, from the specifications +in github.com/anarazel/pg-vm-images/ Controlling CI via commit messages @@ -61,35 +54,7 @@ Controlling CI via commit messages The behavior of CI can be controlled by special content in commit messages. Currently the following controls are available: -- ci-os-only: {(freebsd|linux|macos|mingw|netbsd|openbsd|windows)} +- ci-os-only: {(compilerwarnings|linux|macos|mingw|sanitycheck|windows)} Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. - - -Using custom compute resources for CI -===================================== - -When running a lot of tests in a repository, cirrus-ci's free credits do not -suffice. In those cases a repository can be configured to use other -infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL -variable can be configured for the repository in the cirrus-ci web interface, -at https://cirrus-ci.com/github/<user or organization>. The file referenced -(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can -overwrite the default execution method for different operating systems, -defined in .cirrus.yml, by redefining the relevant yaml anchors. - -Custom compute resources can be provided using -- https://cirrus-ci.org/guide/supported-computing-services/ -- https://cirrus-ci.org/guide/persistent-workers/ - - -Enabling manual tasks by default -================================ - -Some tasks are not triggered automatically by default, to avoid using up CI -credits too quickly. This can be changed on the repository level, e.g. when -custom compute resources are configured. - -The following repository level environment variables are recognized: -- REPO_CI_AUTOMATIC_TRIGGER_TASKS - space-separated list of (mingw|netbsd|openbsd) -- 2.54.0.380.gc69baaf57b --duumq7fiwvn25xxn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v7a-0003-ci-Remove-support-for-cirrus-ci-based-CI.patch" ^ permalink raw reply [nested|flat] 1510+ messages in thread
end of thread, other threads:[~2026-06-02 23:07 UTC | newest] Thread overview: 1510+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v9a 02/22] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v7a 2/3] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]> 2026-06-02 23:07 [PATCH v8a 02/14] ci: Rewrite src/tools/ci/README Andres Freund <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox