agora inbox for [email protected]help / color / mirror / Atom feed
[PATCH v27 4/9] Row pattern recognition patch (planner). 127+ messages / 2 participants [nested] [flat]
* [PATCH v27 4/9] Row pattern recognition patch (planner). @ 2024-12-30 23:53 Tatsuo Ishii <[email protected]> 0 siblings, 0 replies; 127+ messages in thread From: Tatsuo Ishii @ 2024-12-30 23:53 UTC (permalink / raw) --- src/backend/optimizer/plan/createplan.c | 22 ++++++++++++++---- src/backend/optimizer/plan/planner.c | 3 +++ src/backend/optimizer/plan/setrefs.c | 27 ++++++++++++++++++++++- src/backend/optimizer/prep/prepjointree.c | 9 ++++++++ src/include/nodes/plannodes.h | 19 ++++++++++++++++ 5 files changed, 75 insertions(+), 5 deletions(-) diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index b3e2294e84..e99ac4652e 100644 --- a/src/backend/optimizer/plan/createplan.c +++ b/src/backend/optimizer/plan/createplan.c @@ -291,8 +291,10 @@ static WindowAgg *make_windowagg(List *tlist, Index winref, int frameOptions, Node *startOffset, Node *endOffset, Oid startInRangeFunc, Oid endInRangeFunc, Oid inRangeColl, bool inRangeAsc, bool inRangeNullsFirst, - List *runCondition, List *qual, bool topWindow, - Plan *lefttree); + List *runCondition, RPSkipTo rpSkipTo, List *patternVariable, + List *patternRegexp, List *defineClause, + List *defineInitial, List *qual, + bool topWindow, Plan *lefttree); static Group *make_group(List *tlist, List *qual, int numGroupCols, AttrNumber *grpColIdx, Oid *grpOperators, Oid *grpCollations, Plan *lefttree); @@ -2700,6 +2702,11 @@ create_windowagg_plan(PlannerInfo *root, WindowAggPath *best_path) wc->inRangeAsc, wc->inRangeNullsFirst, best_path->runCondition, + wc->rpSkipTo, + wc->patternVariable, + wc->patternRegexp, + wc->defineClause, + wc->defineInitial, best_path->qual, best_path->topwindow, subplan); @@ -6708,8 +6715,10 @@ make_windowagg(List *tlist, Index winref, int ordNumCols, AttrNumber *ordColIdx, Oid *ordOperators, Oid *ordCollations, int frameOptions, Node *startOffset, Node *endOffset, Oid startInRangeFunc, Oid endInRangeFunc, - Oid inRangeColl, bool inRangeAsc, bool inRangeNullsFirst, - List *runCondition, List *qual, bool topWindow, Plan *lefttree) + Oid inRangeColl, bool inRangeAsc, bool inRangeNullsFirst, List *runCondition, + RPSkipTo rpSkipTo, List *patternVariable, List *patternRegexp, List *defineClause, + List *defineInitial, + List *qual, bool topWindow, Plan *lefttree) { WindowAgg *node = makeNode(WindowAgg); Plan *plan = &node->plan; @@ -6735,6 +6744,11 @@ make_windowagg(List *tlist, Index winref, node->inRangeAsc = inRangeAsc; node->inRangeNullsFirst = inRangeNullsFirst; node->topWindow = topWindow; + node->rpSkipTo = rpSkipTo, + node->patternVariable = patternVariable; + node->patternRegexp = patternRegexp; + node->defineClause = defineClause; + node->defineInitial = defineInitial; plan->targetlist = tlist; plan->lefttree = lefttree; diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 7468961b01..f123721e06 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -881,6 +881,9 @@ subquery_planner(PlannerGlobal *glob, Query *parse, PlannerInfo *parent_root, EXPRKIND_LIMIT); wc->endOffset = preprocess_expression(root, wc->endOffset, EXPRKIND_LIMIT); + wc->defineClause = (List *) preprocess_expression(root, + (Node *) wc->defineClause, + EXPRKIND_TARGET); } parse->limitOffset = preprocess_expression(root, parse->limitOffset, diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c index 6d23df108d..70c9733e3f 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -211,7 +211,6 @@ static List *set_windowagg_runcondition_references(PlannerInfo *root, List *runcondition, Plan *plan); - /***************************************************************************** * * SUBPLAN REFERENCES @@ -2492,6 +2491,32 @@ set_upper_references(PlannerInfo *root, Plan *plan, int rtoffset) NRM_EQUAL, NUM_EXEC_QUAL(plan)); + /* + * Modifies an expression tree in each DEFINE clause so that all Var + * nodes's varno refers to OUTER_VAR. + */ + if (IsA(plan, WindowAgg)) + { + WindowAgg *wplan = (WindowAgg *) plan; + + if (wplan->defineClause != NIL) + { + foreach(l, wplan->defineClause) + { + TargetEntry *tle = (TargetEntry *) lfirst(l); + + tle->expr = (Expr *) + fix_upper_expr(root, + (Node *) tle->expr, + subplan_itlist, + OUTER_VAR, + rtoffset, + NRM_EQUAL, + NUM_EXEC_QUAL(plan)); + } + } + } + pfree(subplan_itlist); } diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c index adad7ea9a9..842738adc9 100644 --- a/src/backend/optimizer/prep/prepjointree.c +++ b/src/backend/optimizer/prep/prepjointree.c @@ -2298,6 +2298,15 @@ perform_pullup_replace_vars(PlannerInfo *root, parse->returningList = (List *) pullup_replace_vars((Node *) parse->returningList, rvcontext); + foreach(lc, parse->windowClause) + { + WindowClause *wc = lfirst_node(WindowClause, lc); + + if (wc->defineClause != NIL) + wc->defineClause = (List *) + pullup_replace_vars((Node *) wc->defineClause, rvcontext); + } + if (parse->onConflict) { parse->onConflict->onConflictSet = (List *) diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index 4633121689..1e7cc2a94e 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -20,6 +20,7 @@ #include "lib/stringinfo.h" #include "nodes/bitmapset.h" #include "nodes/lockoptions.h" +#include "nodes/parsenodes.h" #include "nodes/primnodes.h" @@ -1099,6 +1100,24 @@ typedef struct WindowAgg /* nulls sort first for in_range tests? */ bool inRangeNullsFirst; + /* Row Pattern Recognition AFTER MACH SKIP clause */ + RPSkipTo rpSkipTo; /* Row Pattern Skip To type */ + + /* Row Pattern PATTERN variable name (list of String) */ + List *patternVariable; + + /* + * Row Pattern RPATTERN regular expression quantifier ('+' or ''. list of + * String) + */ + List *patternRegexp; + + /* Row Pattern DEFINE clause (list of TargetEntry) */ + List *defineClause; + + /* Row Pattern DEFINE variable initial names (list of String) */ + List *defineInitial; + /* * false for all apart from the WindowAgg that's closest to the root of * the plan -- 2.25.1 ----Next_Part(Tue_Dec_31_08_57_07_2024_963)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="v27-0005-Row-pattern-recognition-patch-executor.patch" ^ permalink raw reply [nested|flat] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ 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; 127+ 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] 127+ messages in thread
end of thread, other threads:[~2026-06-04 01:03 UTC | newest] Thread overview: 127+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2024-12-30 23:53 [PATCH v27 4/9] Row pattern recognition patch (planner). Tatsuo Ishii <[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