Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
78b025f
Fix SIGSEGV when running the 'execute on initplan' function (#61)
whitehawk Sep 22, 2025
64ab1c7
Update CODE_OF_CONDUCT.md (#48)
StacyRs Sep 23, 2025
7af2d30
Cleanup idle reader gang after utility statements
zhangh43 Jul 15, 2020
6a73b0a
update CONTRIBUTING.md
dimoffon Sep 26, 2025
d016d74
Fix hash join spill file issue when rescanning (#65)
silent-observer Sep 29, 2025
1c9963e
fix flaky fts_segment_reset test (#62)
ShapatinAA Sep 30, 2025
e2c9aa5
update CONTRIBUTING.md (#68)
dimoffon Oct 1, 2025
c4e1085
Fix double-cleanup SIGSEGV when coordinator encounters OOM (#40)
red1452 Oct 2, 2025
810d51b
Fix Orca cost model to prefer hashing smaller tables (#67)
silent-observer Oct 2, 2025
ccc0e4b
[ORCA] Fix a segmentation fault when append statistics to a group.
KnightMurloc Sep 29, 2025
b5bddda
[ORCA] Fix infinite recursion during statistic derivation
KnightMurloc Sep 29, 2025
5944707
Add building a deb package feature (#31)
magf Oct 7, 2025
95df356
Update issue templates
dimoffon Oct 7, 2025
69e5937
Merge remote-tracking branch 'origin/main'
dimoffon Oct 8, 2025
43b119a
change the format of bug_report to yml
dimoffon Oct 8, 2025
4010f2e
Merge pull request #83 from dimoffon/main
dimoffon Oct 8, 2025
eaa3405
Update CONTRIBUTING.md (#82)
dimoffon Oct 8, 2025
8a2a471
Track PQresult allocations in server side (#45)
bandetto Oct 13, 2025
67dca3d
Accept vacuum operations in XactLockTableWait assertion (#86)
bimboterminator1 Oct 15, 2025
5636bc6
Allow standby to start with hot_standby = on in utility mode
bandetto Oct 22, 2025
e7e7361
Revert "Remove tests that depend on hot_standby"
bandetto Oct 9, 2025
8b638b7
Fix the 'max_tm_gxacts' value after fault injection (#106)
whitehawk Sep 30, 2025
1b63b1b
Don't create motion on QE slice (#111)
RekGRpth Oct 31, 2025
1d42b1f
ADBDEV-8787: (v6) Run tests for feature branches with slashes
magf Nov 13, 2025
f99696f
The pipeline build is not working
magf Nov 19, 2025
5f699fc
Fix memory corruption for AOCO addcol abort
divyeshddv Jan 24, 2023
20c446b
Fix vacuum failure to clean up some segment files of AOCS tables
whitehawk Nov 20, 2025
97d1193
Ensure that creation of an empty relfile is fsync'd at checkpoint.
hlinnaka Jul 4, 2023
23f88d8
GG-16: Fix the package building pipeline for external PRs
mgaidai-arenadata Nov 26, 2025
881e3d3
Fix escaping for perfmon metrics export (#121)
VoidZeroNull0 Nov 26, 2025
3bd8817
Fix inconsistency DROP IF EXISTS command (#130)
RekGRpth Nov 26, 2025
13b86fa
Fix subplans with correlated functions or master-only or replicated t…
vbwagner Nov 27, 2025
b5f63c6
Fix orphaned segment files for added and rolled back columns for AOCS…
whitehawk Dec 8, 2025
3c86da9
Fix typo of statistics under gporca.
avamingli Feb 6, 2024
bc4b8db
Fix vacuum doesn't compact AO RO table after rolled back transaction …
whitehawk Dec 10, 2025
390d063
Upload built .deb packages to GitHub Releases in CI (#145)
magf Dec 16, 2025
bd39758
ADBDEV-9015: Fix gpmon const warning (#158)
VoidZeroNull0 Dec 18, 2025
a0457d2
Report resource groups to pg_stat_activity for segment backends (#154)
bandetto Dec 25, 2025
5df8e90
Port resource group tests for GG6 to KVM (#159)
magf Dec 26, 2025
2f6c434
Add resource group support for parallel retrieve cursor sessions (#128)
bandetto Dec 26, 2025
e3bae2b
ADBDEV-9025: Prohibit skip-level correlated queries in Postgres plann…
VoidZeroNull0 Dec 29, 2025
edaf53a
Fix Orca CCTETest unit test (#162)
GirgerS Dec 29, 2025
c00148b
Target ORCA tests CI to v12 tag (#168)
magf Jan 12, 2026
23efb07
Optimize Greengage 6 development image for size (#174)
magf Jan 16, 2026
fd60597
Actualize README files for ubuntu (#93)
dkovalev1 Jan 16, 2026
199c949
Remove caching standard Ubuntu image for 6.x (#178)
magf Jan 21, 2026
36995b0
Actualize tests for gpMgmt (#172)
dkovalev1 Jan 22, 2026
e8d3376
Fix the gprecoverseg keeps segment logs test (#191)
RekGRpth Jan 22, 2026
5ae66ba
Implement Always run the Allure renderer for 6X (#188)
uaqq Jan 22, 2026
aa125cb
Add gpMgmt make check to the regression tests suite (#190)
dkovalev1 Jan 23, 2026
e27c079
Fix gp_bash_functions test (#192)
silent-observer Jan 26, 2026
98c0cdd
Fix /etc/hosts file restoring (#194)
RekGRpth Jan 26, 2026
0977773
Eliminate demo cluster creation before behave tests (#193)
RekGRpth Jan 26, 2026
e822ee9
Always run ABI-tests for pull requests (#195)
uaqq Jan 29, 2026
26f52a0
Use unbuffered sed (#199)
RekGRpth Jan 29, 2026
4d83d0b
Add skip tags for features, bump CI (6.x) (#205)
uaqq Jan 29, 2026
aeacec4
Fix resgroup bypassing when using extended protocol (#181)
bimboterminator1 Jan 30, 2026
deedbb6
Fix tautological undefined compare
d Feb 2, 2021
c2eeba1
Prohibit skip-level correlated queries in Postgres planner for 7.x
VoidZeroNull0 Feb 2, 2026
e98277f
Silence uninitialized-value warnings in compareJsonbContainers().
tglsfdc Jul 15, 2025
417a0ad
Remove unneeded Python includes
petere Nov 25, 2021
e02875d
Fix ORCA panic on nonexistent hash opfamilies. (#219)
bimboterminator1 Feb 5, 2026
8951249
Add the temp_tables_stat extension (#133)
andr-sokolov Feb 9, 2026
3659e95
Don't push to DockerHub when no credentials for 6.x (#236)
magf Feb 9, 2026
f7a679d
Test expression refers to not projected the nested subplan attribute
VoidZeroNull0 Feb 10, 2026
bab8614
Мake the gpexpand test more stable.
KnightMurloc Feb 27, 2024
8a82795
Revert "gpexpand: improve timeout tests"
KnightMurloc Feb 28, 2024
e9f1a92
Fix regression in multi-host cluster in behave tests
RekGRpth Feb 9, 2026
1600675
Bump behave tests workflow version (6.x) (#243)
uaqq Feb 11, 2026
f1208e8
Collect SQL dump after new image built on main branches (#235)
magf Feb 13, 2026
4c8fc9f
Fix the use of errno as an error indicator (#248)
silent-observer Feb 13, 2026
416654b
Add instructions on overriding the target directory in README.md (#252)
hilltracer Feb 16, 2026
d094cb2
Fix the out-of-space error for 6.x (#255)
magf Feb 17, 2026
badc6cc
Bump greengage-reusable-upload to v21 tag (#259)
magf Feb 18, 2026
4d66846
Make isolation2 tests runnable from any directory (#250)
silent-observer Feb 18, 2026
f7a1bc8
Fix behave tests in the concourse cluster (#207)
RekGRpth Feb 19, 2026
ecdda44
Directory `sqldump` absent for 6.x (#272)
magf Feb 19, 2026
f9c7aaa
Actualize READMEs for CentOS/RHEL/Rocky (#254)
hilltracer Feb 19, 2026
b60f0f0
Prevent ORCA from losing distribution requests for 6.x (#257)
GirgerS Feb 20, 2026
6955445
Fix gpssh-exkeys behave tests (#211)
RekGRpth Feb 21, 2026
31fd227
Command injection vulnerability in Greengage SQL Dump workflow (#276)
magf Feb 24, 2026
14d88e5
Extract common parts from isolation2 makefile into global makefile
Nov 13, 2020
12b1cc9
Fix isolation2 tests overwriting diffs (#268)
silent-observer Feb 17, 2026
1c3e7ce
[6X] Resgroup tests don't run due to docker version error (#284)
magf Feb 26, 2026
cc2a3e2
Fix minirepro/gpsd os.getlogin() issue
dgkimura Dec 16, 2020
492cb0b
Fix minirepro behave tests. (#16406)
higuoxing Sep 12, 2023
838ef17
Refactor dbconn
tylarb May 13, 2020
8eef098
Enable minirepro tests
ShapatinAA Feb 25, 2026
d76a9a8
Greengage SQL Dump workflow fails unexpected for 6.x (#280)
magf Feb 27, 2026
3d1c326
Fix python functions to get postmaster PID (#285)
Stolb27 Feb 27, 2026
7cb037e
Greengage SQL Dump workflow fails unexpected for 6.x (#288)
magf Mar 3, 2026
373e68d
Fix test_clean_up_failed_segments (#287)
silent-observer Mar 3, 2026
0d971dc
Enable gpload test (#294)
silent-observer Mar 3, 2026
44e96ec
Install pg_isolation2_regress for use in extension tests (#274)
silent-observer Mar 3, 2026
a3c2e30
Prevent ORCA from generating redundant redistributions on joins
GirgerS Mar 3, 2026
6219d1b
Enable gpexpand behave tests for 6.x (#296)
magf Mar 4, 2026
8b18119
Restore backwards compatibility for isolation2 tests (#302)
silent-observer Mar 6, 2026
20e4e1d
Update PyGreSQL from 4.0 to 5.2.5
KnightMurloc Oct 28, 2025
5c20386
Apply stage 1 of futurize (#198)
KnightMurloc Jan 28, 2026
76d05ae
Apply stage 2 of futurize (#198)
KnightMurloc Jan 28, 2026
6ea5306
Fix test after futurize (#198)
KnightMurloc Jan 28, 2026
c82dbf4
Fix catalog external web tables, that use python2 code. (#295)
ShapatinAA Mar 3, 2026
ab41709
Add Ubuntu 24 support (#242)
silent-observer Feb 12, 2026
5b7edd5
Fix SyntaxWarning in Python code (#232)
KnightMurloc Feb 13, 2026
f731049
Remove deprecated mode 'rU' for Python 3 (#245)
silent-observer Feb 16, 2026
dcdd44e
Modernize python code to support both python versions (#170)
KnightMurloc Feb 27, 2026
6c1b6f5
Add OS support (#290)
litrovich88 Mar 3, 2026
7ee983f
Fix pl/perl test case so it will still work under Perl 5.36.
tglsfdc Jun 1, 2022
850ac45
Add to readme files info about Python 3 support (#303)
hilltracer Mar 6, 2026
f589014
Merge remote-tracking branch 'arena/adb-6.x' into 6.30.0-sync
Stolb27 Mar 10, 2026
61cb740
Partially revert "Add skip tags for features, bump CI"
Stolb27 Mar 10, 2026
83c4b60
Move ABI change excludes to the last ADB tag
Stolb27 Mar 10, 2026
341f7ce
Remove sql dump volume
Stolb27 Mar 11, 2026
6cd58e5
Fix symlinks for pg_isolation2_regress (#2256)
silent-observer Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .abi-check/6.29.1_arenadata68/postgres.symbols.ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ConfigureNamesBool_gp
65 changes: 30 additions & 35 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,45 @@
# Code of Conduct
# Greengage DB Community Code of Conduct

## Intro
Greengage DB is an open community project. Every Greengage DB user or developer is responsible for making the community a place where people want to come back. We expect all community members to maintain professional ethics and communicate respectfully and politely.

Standing on the shoulders of the giants means not only leveraging the code base of the most successful open source relational database (PostgreSQL) but also taking a page out of one of the most successful open source governance bodies: Apache Software Foundation (ASF). Greengage Database developer community has adopted not only the Apache License but also the following code of conduct heavily borrowing from an ASF’s:
## Community Development Principles

This code of conduct applies to all spaces that are associated with the participation in the Greengage Database open source project, including chat, all public and private mailing lists, issue trackers, wikis, blogs, Twitter, and any other communication channel used by our community. A code of conduct which is specific to in-person events (ie., conferences, meetups, etc.) is expected to be a superset of this document covering additional principles put forward by the organizers of the event(s) and landlords of the space where the event is held.
In developing code, documentation, and any other products of intellectual work, we are guided by principles that are important for the development of the community.

We expect this code of conduct to be honored by everyone who participates in the Greengage Database community formally or informally, or claims any affiliation with the project, in any activities and especially when representing the Greengage Database project, in any role.
**Collaboration**

This code is not exhaustive or complete. It serves to distil our common understanding of a collaborative, shared environment and goals. We expect it to be followed in spirit as much as in the letter so that it can enrich all of us and the technical communities in which we participate.
Anyone can join the Greengage DB community and make a contribution.

## Specific guidelines
**Equality**

We strive to:
1. **Be open** We invite anyone to participate in our community. We preferably use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also makes sure that any inadvertent mistakes made by people answering will be more easily detected and corrected.
2. **Be empathetic**, welcoming, friendly, and patient. We work together to resolve conflict, assume good intentions, and do our best to act in an empathetic fashion. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. We should be respectful when dealing with other community members as well as with people outside our community.
3. **Be collaborative**. Our work will be used by other people, and in turn will depend on the work of others. When we make something for the benefit of the project, we are willing to explain to others how it works, so that they can build on the work to make it even better. Any decision we make will affect users and colleagues, and we take those consequences seriously when making decisions.
4. **Be inquisitive**. Nobody knows everything! Asking questions early avoids many problems later, so questions are encouraged, though they may be directed to the appropriate forum. Those who are asked should be responsive and helpful, within the context of our shared goal of improving Greengage Database project code.
5. **Be careful in the words that we choose**. Whether we are participating as professionals or volunteers, we value professionalism in all interactions, and take responsibility for our own speech. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behaviour are not acceptable. This includes, but is not limited to:
* Violent threats or language directed against another person.
* Sexist, racist, or otherwise discriminatory jokes and language.
* Posting sexually explicit or violent material.
* Posting (or threatening to post) other people's personally identifying information ("doxing").
* Sharing private content, such as emails sent privately or non-publicly, or unlogged forums such as IRC channel history.
* Personal insults, especially those using racist or sexist terms.
* Unwelcome sexual attention.
* Excessive or unnecessary profanity.
* Repeated harassment of others. In general, if someone asks you to stop, then stop.
* Advocating for, or encouraging, any of the above behaviour.
6. **Be concise**. Keep in mind that what you write once will be read by hundreds of persons. Writing a short email means people can understand the conversation as efficiently as possible. Short emails should always strive to be empathetic, welcoming, friendly and patient. When a long explanation is necessary, consider adding a summary.
Try to bring new ideas to a conversation so that each mail adds something unique to the thread, keeping in mind that the rest of the thread still contains the other messages with arguments that have already been made.
Try to stay on topic, especially in discussions that are already fairly large.
7. **Step down considerately**. Members of every project come and go. When somebody leaves or disengages from the project they should tell people they are leaving and take the proper steps to ensure that others can pick up where they left off. In doing so, they should remain respectful of those who continue to participate in the project and should not misrepresent the project's goals or achievements. Likewise, community members should respect any individual's choice to leave the project.
The contribution of each community member will be assessed equally, based on its objective significance for the project.

## Diversity statement
**Opportunities**

Greengage Database project welcomes and encourages participation by everyone. We are committed to being a community that everyone feels good about joining. Although we may not be able to satisfy everyone, we will always work to treat everyone well.
Community members who contribute to Greengage DB can influence the direction of the product's development.

No matter how you identify yourself or how others perceive you: we welcome you. Though no list can hope to be comprehensive, we explicitly honour diversity in: age, culture, ethnicity, genotype, gender identity or expression, language, national origin, neurotype, phenotype, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, subculture and technical ability.
**Availability**

Though we welcome people fluent in all languages, Greengage Database project development is conducted in English.
The project code will be distributed under an open license for community members anywhere in the world.

Standards for behaviour in this community are detailed in the Code of Conduct above. We expect participants in our community to meet these standards in all their interactions and to help others to do so as well.
## Code of Conduct in Action

## Reporting guidelines
This code of conduct applies to all available channels of interaction between community members, including comments on code or documentation, the project's social media, and online and offline events that are partially or fully dedicated to Greengage DB.

While this code of conduct should be adhered to by participants, we recognize that sometimes people may have a bad day, or be unaware of some of the guidelines in this code of conduct. When that happens, you may reply to them and point out this code of conduct. Such messages may be in public or in private, whatever is most appropriate. However, regardless of whether the message is public or not, it should still adhere to the relevant parts of this code of conduct; in particular, it should not be abusive or disrespectful.
Every member of the Greengage DB community is expected to adhere to the project’s code of conduct, especially when speaking on behalf of Greengage DB in the public space.
We encourage everyone to be interested in Greengage DB, regardless of their track record or formal qualifications. This does not negate the important procedures for code and documentation quality, but it does require respectful and polite treatment.

If you believe someone is violating this code of conduct, you may reply to them and point out this code of conduct. Assume good faith; it is more likely that participants are unaware of their bad behaviour than that they intentionally try to degrade the quality of the discussion. Should there be difficulties in dealing with the situation, you may report your compliance issues in confidence to coc@greengagedb.org. This will go to an individual who is entrusted with your report.
The Greengage DB project exists thanks to the voluntary contributions of its members. Some of them may leave the project over time, and this decision should be respected in the same way as their initial involvement. We expect this code of conduct to be followed in the event of parting with the project, and the departing community member is supposed to treat those who remain with respect.

## Appropriate Conduct

No personal characteristics can serve as grounds for refusing to work for the benefit of the Greengage DB project or belittling your contribution to it. This code of conduct considers any attacks on a person unacceptable. These are the basic principles of communication in the community.

Unacceptable behavior is any threat to use violence, damage social or professional reputation, expressed to an individual or a group of people. Threats to damage the Greengage DB project or its reputation or the implementation of such threats are also a violation of this code of conduct. Harassment of any kind and violation of the basic principles of communication are not tolerated in the Greengage DB community.

In the event of receiving a warning about inappropriate behavior, it is necessary to immediately stop it. Subsequent violations of the Code of Conduct will serve as grounds for taking restrictive measures against the violator, up to and including exclusion from the community.

## Reporting

In many cases, simply sending a link to this code of conduct will be enough to maintain a good community culture. If you see a discussion where the code may potentially be violated, proactively send a link to it.
In some cases, violations may require issuing warnings and other restrictive measures. In this case, please contact us at **code@greengagedb.org**.
84 changes: 84 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Bug Report
description: Create a report to help us improve GreengageDB
title: "[Bug] "
labels: ["bug"]
assignees: []

body:
- type: textarea
id: problem_description
attributes:
label: "Describe the problem"
description: "Please describe the issue you observed, and any steps we can take to reproduce it"
placeholder: "Describe the problem you encountered..."
validations:
required: true

- type: textarea
id: reproduction_steps
attributes:
label: "How to reproduce"
description: "Steps to reproduce the behavior"
placeholder: |
1.
2.
3.
...
validations:
required: true

- type: textarea
id: expected_behavior
attributes:
label: "Expected behavior"
description: "A clear and concise description of what you expected to happen"
placeholder: "Describe what you expected to happen..."
validations:
required: true

- type: textarea
id: additional_data
attributes:
label: "Additional data"
description: |
If the problem is SQL-related, include a copy of the SQL query and the schema.

If a segment in your cluster encountered a fatal error, supply the contents of the log directory (at minimum of the affected segment(s), but preferably all segments).

Note that log files can contain confidential information.
placeholder: |
SQL Query:
Schema:
Log files:
...

- type: input
id: environment_greengagedb
attributes:
label: "GreengageDB version"
description: "What version of GreengageDB are you using?"
validations:
required: true

- type: input
id: environment_os
attributes:
label: "Server OS"
description: "What operating system is the server running on?"
placeholder: "e.g. Linux/Distrib version"
validations:
required: true

- type: input
id: environment_client
attributes:
label: "Client application"
description: "What client application are you using?"
placeholder: "e.g. psql, JDBC, pxf, ..."

- type: textarea
id: additional_context
attributes:
label: "Additional context"
description: "What was the impact? Add any other context about the problem here"
placeholder: "Add any other relevant context about the problem..."
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for Greengage project
title: "[Feature]"
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.

**Describe the solution**
A clear and concise description of what you want to happen.

**Additional context**
Add any other context about the feature request, user stories or examples of usage.
76 changes: 76 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,82 @@ operating systems:
DockerHub. Runs for push to `main` (retags to `latest`) and tags (uses tag
like `6.28.2`) after build.

## Release Workflow

A separate workflow `Greengage release` handles the uploading of Debian package
to GitHub releases. It is triggered when a release is published and uses a
composite action to manage package deployment.

### Key Features

- **Triggers:** `release: [published]` - Runs when a release is published,
including re-publishing.
- **Concurrency:** Uses the same concurrency group as the CI workflow
(`Greengage CI-${{ github.ref }}`) to ensure proper sequencing and prevent race
conditions.
- **Cache-based Artifacts:** Restores built packages from cache using the
commit SHA as the key, rather than downloading artifacts from previous jobs.
- **Manual Recovery:** If the cache is missing, the workflow checks the status
of the last build for the tag and provides clear instructions for manual
intervention. It does not automatically trigger builds to avoid infinite loops.
- **Safe Uploads:** Uploads packages with fixed naming patterns and optional
overwrite (`clobber` flag).

### Behavior

1. **Normal Flow (Cache Available):** Restores packages from cache, renames
them to the pattern `${PACKAGE_NAME}${VERSION}.${EXT}`, and uploads to the
release.
2. **Cache Miss Scenarios:**
- **No previous build or previous build successful:** Provides instructions
to manually trigger the CI build, then restart the release workflow.
- **Previous build failed:** Reports the failure with a link to the failed
run and requires manual fixing before retrying.

The release workflow is designed to be robust and provide clear feedback when
issues occur, ensuring that releases are always consistent and reliable.

## SQL Dump Workflow

A separate workflow `Greengage SQL Dump` is responsible for generating SQL dump
artifacts after the main CI process completes successfully. It is triggered
automatically upon the completion of the `Greengage CI` workflow.

### Key Features

- **Triggers:** `workflow_run: workflows: ["Greengage CI"], types: [completed]`
- **Branch Targeting:** Runs only for the `main` and `7.x` branches.
- **Version Detection:** Automatically determines the database version (6 or 7)
based on the triggering branch.
- **Artifact Creation:** Executes regression tests with the `dump_db: "true"`
parameter to generate a SQL dump archive, which is then uploaded as a workflow
artifact.
- **Controlled Execution:** Since the main CI workflow runs on `main` and `7.x`
branches only for push events (which occur after final merge of a PR), SQL dump
are generated exclusively for verified, approved patches after they are merged
into the main branches.
- **Artifact Retention:** The generated SQL dump artifact is retained 90 days
after the last download. Each new run of the `behave tests gpexpand` workflow
(which consumes this artifact as a consumer) resets this retention period to
90 days when it downloads the artifact.

### Behavior

1. **Triggering:** Automatically starts after the `Greengage CI` workflow
finishes on the `main` or `7.x` branch.
2. **Preparation:** Configures Docker storage on the runner to utilize
`/mnt/docker` for increased disk space.
3. **Version Mapping:** Maps the branch name (`main` -> version 6, `7.x` ->
version 7) to select the correct Docker image for testing.
4. **Dump Generation:** Runs the regression test suite using the reusable
action with the `dump_db` option enabled, which creates a
`*_postgres_sqldump.tar` file.
5. **Artifact Upload:** Uploads the generated SQL dump archive as a named
artifact (e.g., `sqldump_ggdb7_ubuntu`) to the workflow run.

This workflow ensures that a current database schema dump is available as an
artifact following successful CI runs on the primary branches `main` and `7.x`.

## Configuration

The workflow is parameterized to support flexibility:
Expand Down
20 changes: 3 additions & 17 deletions .github/workflows/greengage-abi-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,7 @@ concurrency:
on:
workflow_dispatch:
pull_request:
paths:
- 'concourse/scripts/**'
- 'src/**'
- '.github/workflows/**'
- '.github/scripts/**'
- '.abi-check/**'

push:
branches:
- 6X_STABLE
paths:
- 'concourse/scripts/**'
- 'src/**'
- '.github/workflows/**'
- '.github/scripts/**'
- '.abi-check/**'
branches: ['**']

env:
# workaround required for checkout@v3, https://github.com/actions/checkout/issues/1590
Expand Down Expand Up @@ -95,8 +80,9 @@ jobs:
- name: Install dependencies and abi-dumper
run: |
sudo gpdb_src/README.ubuntu.bash
sudo apt install -y libuv1-dev libpam0g-dev libldap-dev libipc-run-perl abi-dumper
sudo apt install -y libuv1-dev libpam0g-dev libldap-dev libipc-run-perl abi-dumper python-pip
sudo ln -fs python2 /usr/bin/python
sudo python -m pip install future

- name: Build Greengage
run: |
Expand Down
Loading
Loading