agora inbox for [email protected]help / color / mirror / Atom feed
[PATCH v2] Fix DROP PROPERTY GRAPH "unsupported object class" error 204+ messages / 2 participants [nested] [flat]
* [PATCH v2] Fix DROP PROPERTY GRAPH "unsupported object class" error @ 2026-04-23 09:27 Bertrand Drouvot <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Bertrand Drouvot @ 2026-04-23 09:27 UTC (permalink / raw) getObjectTypeDescription() and getObjectIdentityParts() are missing switch cases for PropgraphElementLabelRelationId and PropgraphLabelPropertyRelationId, causing them to hit the default case and error out with "unsupported object class". During DROP PROPERTY GRAPH, this manifests when an event trigger is active, because pg_event_trigger_ddl_commands() calls these functions. The same code paths are also reachable via pg_identify_object() and pg_identify_object_as_address(). This commit adds the missing cases. Test coverage is added in object_address.sql for these two catalog types via the zero-OID test that exercises pg_identify_object() and pg_identify_object_as_address(). A test in event_trigger.sql verifies that DROP PROPERTY GRAPH works correctly when an event trigger is active. Author: Bertrand Drouvot <[email protected]> Reviewed-by: Michael Paquier <[email protected]> Reviewed-by: Ashutosh Bapat <[email protected]> Discussion: https://postgr.es/m/aej1DkLwhyZWmtxJ@bdtpg --- src/backend/catalog/objectaddress.c | 93 ++++++++++++++++++++ src/test/regress/expected/event_trigger.out | 17 ++++ src/test/regress/expected/object_address.out | 4 + src/test/regress/sql/event_trigger.sql | 13 +++ src/test/regress/sql/object_address.sql | 2 + 5 files changed, 129 insertions(+) 62.4% src/backend/catalog/ 25.6% src/test/regress/expected/ 11.8% src/test/regress/sql/ diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index c1862809577..e2d6d8f71f6 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -4901,10 +4901,18 @@ getObjectTypeDescription(const ObjectAddress *object, bool missing_ok) appendStringInfoString(&buffer, "policy"); break; + case PropgraphElementLabelRelationId: + appendStringInfoString(&buffer, "property graph element label"); + break; + case PropgraphElementRelationId: appendStringInfoString(&buffer, "property graph element"); break; + case PropgraphLabelPropertyRelationId: + appendStringInfoString(&buffer, "property graph label property"); + break; + case PropgraphLabelRelationId: appendStringInfoString(&buffer, "property graph label"); break; @@ -6161,6 +6169,49 @@ getObjectIdentityParts(const ObjectAddress *object, break; } + case PropgraphElementLabelRelationId: + { + Relation ellabelDesc; + ScanKeyData skey[1]; + SysScanDesc ellabelscan; + HeapTuple tup; + Form_pg_propgraph_element_label pgelform; + ObjectAddress oa; + + ellabelDesc = table_open(PropgraphElementLabelRelationId, AccessShareLock); + ScanKeyInit(&skey[0], + Anum_pg_propgraph_element_label_oid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(object->objectId)); + + ellabelscan = systable_beginscan(ellabelDesc, + PropgraphElementLabelObjectIndexId, + true, NULL, 1, skey); + + tup = systable_getnext(ellabelscan); + if (!HeapTupleIsValid(tup)) + { + if (!missing_ok) + elog(ERROR, "could not find tuple for element label %u", + object->objectId); + + systable_endscan(ellabelscan); + table_close(ellabelDesc, AccessShareLock); + break; + } + + pgelform = (Form_pg_propgraph_element_label) GETSTRUCT(tup); + + ObjectAddressSet(oa, PropgraphElementRelationId, pgelform->pgelelid); + + appendStringInfoString(&buffer, getObjectIdentityParts(&oa, objname, + objargs, false)); + + systable_endscan(ellabelscan); + table_close(ellabelDesc, AccessShareLock); + break; + } + case PropgraphElementRelationId: { HeapTuple tup; @@ -6184,6 +6235,48 @@ getObjectIdentityParts(const ObjectAddress *object, break; } + case PropgraphLabelPropertyRelationId: + { + Relation lblpropDesc; + ScanKeyData skey[1]; + SysScanDesc lblpropscan; + HeapTuple tup; + Form_pg_propgraph_label_property plpform; + ObjectAddress oa; + + lblpropDesc = table_open(PropgraphLabelPropertyRelationId, + AccessShareLock); + ScanKeyInit(&skey[0], + Anum_pg_propgraph_label_property_oid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(object->objectId)); + + lblpropscan = systable_beginscan(lblpropDesc, PropgraphLabelPropertyObjectIndexId, + true, NULL, 1, skey); + + tup = systable_getnext(lblpropscan); + if (!HeapTupleIsValid(tup)) + { + if (!missing_ok) + elog(ERROR, "could not find tuple for label property %u", + object->objectId); + + systable_endscan(lblpropscan); + table_close(lblpropDesc, AccessShareLock); + break; + } + + plpform = (Form_pg_propgraph_label_property) GETSTRUCT(tup); + + ObjectAddressSet(oa, PropgraphElementLabelRelationId, plpform->plpellabelid); + appendStringInfoString(&buffer, getObjectIdentityParts(&oa, objname, + objargs, false)); + + systable_endscan(lblpropscan); + table_close(lblpropDesc, AccessShareLock); + break; + } + case PropgraphLabelRelationId: { HeapTuple tup; diff --git a/src/test/regress/expected/event_trigger.out b/src/test/regress/expected/event_trigger.out index 065f586310f..ed8d5df397e 100644 --- a/src/test/regress/expected/event_trigger.out +++ b/src/test/regress/expected/event_trigger.out @@ -173,6 +173,23 @@ NOTICE: test_event_trigger: ddl_command_end CREATE USER MAPPING alter default privileges for role regress_evt_user revoke delete on tables from regress_evt_user; NOTICE: test_event_trigger: ddl_command_end ALTER DEFAULT PRIVILEGES +-- DROP PROPERTY GRAPH should work with event trigger in place +CREATE TABLE t1x (a int PRIMARY KEY, b text); +NOTICE: test_event_trigger: ddl_command_start CREATE TABLE +NOTICE: test_event_trigger: ddl_command_end CREATE TABLE +CREATE TABLE t2x (i int PRIMARY KEY, j text); +NOTICE: test_event_trigger: ddl_command_start CREATE TABLE +NOTICE: test_event_trigger: ddl_command_end CREATE TABLE +CREATE PROPERTY GRAPH gx + VERTEX TABLES ( + t1x KEY (a) LABEL l1 PROPERTIES (b AS p1), + t2x KEY (i) LABEL l2 PROPERTIES (j AS p1) +); +NOTICE: test_event_trigger: ddl_command_end CREATE PROPERTY GRAPH +DROP PROPERTY GRAPH gx; +NOTICE: test_event_trigger: ddl_command_end DROP PROPERTY GRAPH +DROP TABLE t1x, t2x; +NOTICE: test_event_trigger: ddl_command_end DROP TABLE -- alter owner to non-superuser should fail alter event trigger regress_event_trigger owner to regress_evt_user; ERROR: permission denied to change owner of event trigger "regress_event_trigger" diff --git a/src/test/regress/expected/object_address.out b/src/test/regress/expected/object_address.out index 97227d67a54..729c3537f25 100644 --- a/src/test/regress/expected/object_address.out +++ b/src/test/regress/expected/object_address.out @@ -593,7 +593,9 @@ WITH objects (classid, objid, objsubid) AS (VALUES ('pg_parameter_acl'::regclass, 0, 0), -- no parameter ACL ('pg_policy'::regclass, 0, 0), -- no policy ('pg_propgraph_element'::regclass, 0, 0), -- no property graph element + ('pg_propgraph_element_label'::regclass, 0, 0), -- no property graph element label ('pg_propgraph_label'::regclass, 0, 0), -- no property graph label + ('pg_propgraph_label_property'::regclass, 0, 0), -- no property graph label property ('pg_propgraph_property'::regclass, 0, 0), -- no property graph property ('pg_publication'::regclass, 0, 0), -- no publication ('pg_publication_namespace'::regclass, 0, 0), -- no publication namespace @@ -653,6 +655,8 @@ ORDER BY objects.classid, objects.objid, objects.objsubid; ("(""parameter ACL"",,,)")|("(""parameter ACL"",,)")|NULL ("(""property graph element"",,,)")|("(""property graph element"",,)")|NULL ("(""property graph label"",,,)")|("(""property graph label"",,)")|NULL +("(""property graph element label"",,,)")|("(""property graph element label"",,)")|NULL ("(""property graph property"",,,)")|("(""property graph property"",,)")|NULL +("(""property graph label property"",,,)")|("(""property graph label property"",,)")|NULL -- restore normal output mode \a\t diff --git a/src/test/regress/sql/event_trigger.sql b/src/test/regress/sql/event_trigger.sql index 32e9bb58c5e..271f443378b 100644 --- a/src/test/regress/sql/event_trigger.sql +++ b/src/test/regress/sql/event_trigger.sql @@ -143,6 +143,19 @@ create user mapping for regress_evt_user server useless_server; alter default privileges for role regress_evt_user revoke delete on tables from regress_evt_user; +-- DROP PROPERTY GRAPH should work with event trigger in place +CREATE TABLE t1x (a int PRIMARY KEY, b text); +CREATE TABLE t2x (i int PRIMARY KEY, j text); + +CREATE PROPERTY GRAPH gx + VERTEX TABLES ( + t1x KEY (a) LABEL l1 PROPERTIES (b AS p1), + t2x KEY (i) LABEL l2 PROPERTIES (j AS p1) +); + +DROP PROPERTY GRAPH gx; +DROP TABLE t1x, t2x; + -- alter owner to non-superuser should fail alter event trigger regress_event_trigger owner to regress_evt_user; diff --git a/src/test/regress/sql/object_address.sql b/src/test/regress/sql/object_address.sql index 1bbe9457c1c..620dacf1045 100644 --- a/src/test/regress/sql/object_address.sql +++ b/src/test/regress/sql/object_address.sql @@ -282,7 +282,9 @@ WITH objects (classid, objid, objsubid) AS (VALUES ('pg_parameter_acl'::regclass, 0, 0), -- no parameter ACL ('pg_policy'::regclass, 0, 0), -- no policy ('pg_propgraph_element'::regclass, 0, 0), -- no property graph element + ('pg_propgraph_element_label'::regclass, 0, 0), -- no property graph element label ('pg_propgraph_label'::regclass, 0, 0), -- no property graph label + ('pg_propgraph_label_property'::regclass, 0, 0), -- no property graph label property ('pg_propgraph_property'::regclass, 0, 0), -- no property graph property ('pg_publication'::regclass, 0, 0), -- no publication ('pg_publication_namespace'::regclass, 0, 0), -- no publication namespace -- 2.34.1 --gtUR827Uq8d5gVsQ-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
* [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible @ 2026-06-04 01:03 Andres Freund <[email protected]> 0 siblings, 0 replies; 204+ messages in thread From: Andres Freund @ 2026-06-04 01:03 UTC (permalink / raw) While workflows in new forks are disabled by default, existing forks that pull new changes into the repository will automatically start running CI. That may not be desired. There however is no way native to Actions to prevent this. This commit changes it so that each repository that wants real CI to run needs to explicitly opt into doing so, by creating the 'PG_CI_ENABLED' repository variable with the value 1. To make that less confusing, emit a summary whenever we skip running CI, with a message explaining how to enable CI. --- .github/workflows/pg-ci.yml | 33 +++++++++++++++++++++++++++++++++ src/tools/ci/README | 11 ++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 60ea5bacded..eaf32c756e2 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -133,12 +133,45 @@ env: jobs: + # Job: Warn if not enabled + # + # Do not run CI unless the repository owner opts in, to avoid resource waste + # in all the forks of postgres (new forks have workflows disabled by + # default, but old ones don't). Unfortunately there's no explicit way to do + # so. + # + # To make that more visible, emit a summary explaining how CI can be enabled + # and how the entire workflow, including this warning, can be disabled. + warn-not-enabled: + name: Warn if not enabled + if: ${{vars.PG_CI_ENABLED != '1'}} + runs-on: ubuntu-slim + steps: + - name: Warn + env: + MSG: | + > [!CAUTION] + > CI is not enabled in this repository + > + > To enable, go to ${{github.server_url}}/${{github.repository}}/settings/variables/actions + > and create a new variable named PG_CI_ENABLED, with the value 1. + > + > To avoid seeing this message over and over, go to + > ${{github.server_url}}/${{github.repository}}/actions/workflows/pg-ci.yml + > and click on the three dots at the top right and choose "Disable workflow" + run: | + echo "$MSG" >> "$GITHUB_STEP_SUMMARY" + + # Job: Determine enabled jobs # # Parses "ci-os-only: ..." from the commit message and exposes flags # consumed by the jobs' `if:` conditions. setup: name: Determine enabled jobs + # Only run if repo owner opted in. If this task is skipped due to the if, + # none of it's depending tasks run either. + if: ${{vars.PG_CI_ENABLED == '1'}} runs-on: *linux_runs_on timeout-minutes: 1 outputs: diff --git a/src/tools/ci/README b/src/tools/ci/README index 99e006f7e77..d72cce5b6bc 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -20,7 +20,7 @@ Configuring CI on personal repositories Currently postgres contains CI support utilizing GitHub Actions. -Configuring CI use in a GitHub repository +Configuring CI use of a GitHub repository ========================================= The GitHub Actions based CI workflow may or may not be active by default, @@ -33,6 +33,15 @@ and click on the '...' on the top right and choose 'Disable workflow'. To enable the workflow, go to the same page and click on "Enable workflow" at the top. +However, to avoid issues with the thousands of forks of the postgres/postgres +repository starting to run CI the next time the forks re-synchronize with the +postgres/postgres, each repository needs to explicitly opt-in to actually run +the full CI tests. + +To opt into CI, go to +https://github.com/<username>/<reponame>//settings/variables/actions and +create a new variable named PG_CI_ENABLED, with the value 1. + Viewing CI results in a GitHub repository ========================================== -- 2.54.0.380.gc69baaf57b --eikbkdqspf4smrmy-- ^ permalink raw reply [nested|flat] 204+ messages in thread
end of thread, other threads:[~2026-06-04 01:03 UTC | newest] Thread overview: 204+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2026-04-23 09:27 [PATCH v2] Fix DROP PROPERTY GRAPH "unsupported object class" error Bertrand Drouvot <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible Andres Freund <[email protected]> 2026-06-04 01:03 [PATCH v10a 3/3] ci: Make CI workflow as opt-in as possible 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