Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f533584
refactor: replace GH_TOKEN with GitHub App token in workflow files
BarkinKctp Mar 12, 2026
7891e7c
fix: update GitHub App token secret reference in workflow files
BarkinKctp Mar 12, 2026
f17e33f
feat: update workflows to use GitHub App token and improve permissions
BarkinKctp Mar 14, 2026
df17e17
feat: update workflows to use GH_TOKEN references
BarkinKctp Mar 14, 2026
9fd8296
refactor: update workflows to use GitHub App
BarkinKctp Mar 17, 2026
1fa5d29
refactor: replace GITHUB_TOKEN with GH_TOKEN in workflow and test files
BarkinKctp Mar 17, 2026
361638f
update build_packages to double check token validility
BarkinKctp Mar 17, 2026
413ed4e
changing the way token gets passed
BarkinKctp Mar 17, 2026
8ad28a3
refactor: update GH_TOKEN usage in build process and tests
BarkinKctp Mar 17, 2026
adc0d6a
refactor: add GH_TOKEN environment variable to Citus package tests step
BarkinKctp Mar 17, 2026
c3e370d
testing sh scripts
BarkinKctp Mar 17, 2026
131e059
refactor: update git clone commands inside docker
BarkinKctp Mar 17, 2026
ff500ee
replace GITHUB_TOKEN with GH_TOKEN in citus_package. testing for pack…
BarkinKctp Apr 6, 2026
20ac671
fix: add GITHUB_TOKEN environment variable for docker build process
BarkinKctp Apr 6, 2026
bf97f8e
Revert changes
BarkinKctp Apr 17, 2026
75484be
Checking token format
BarkinKctp Apr 17, 2026
0797950
Checking Token
BarkinKctp Apr 17, 2026
58e9c03
add GH_TOKEN to cloning steps
BarkinKctp Apr 19, 2026
258ceff
add debug steps to verify GH_TOKEN access and git authentication
BarkinKctp Apr 21, 2026
7655fc4
refactor debug steps for token verification and packaging process
BarkinKctp Apr 21, 2026
af59f9c
finding submodules
BarkinKctp Apr 21, 2026
a3f9a96
fix typo
BarkinKctp Apr 21, 2026
21abaa1
refactor debug step to run packaging container and capture logs
BarkinKctp Apr 21, 2026
0c2a95c
remove debug step
BarkinKctp Apr 21, 2026
90ef0c7
checking error code
BarkinKctp Apr 22, 2026
cb2cf5e
add stderr redirection to docker command in build_package function
BarkinKctp Apr 22, 2026
a07278c
debugging
BarkinKctp Apr 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions .github/workflows/build-citus-community-nightlies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ env:
MAIN_BRANCH: "all-citus"
PACKAGING_PASSPHRASE: ${{ secrets.PACKAGING_PASSPHRASE }}
PACKAGING_SECRET_KEY: ${{ secrets.PACKAGING_SECRET_KEY }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
DOCKERHUB_USER_NAME: ${{ secrets.DOCKERHUB_USER_NAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
on:
Expand Down Expand Up @@ -32,9 +31,25 @@ jobs:
- ubuntu/jammy

steps:

- name: Create GitHub App token
id: app
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_KEY }}
owner: ${{ github.repository_owner }}

- name: Set GH_TOKEN for all steps
run: echo "GH_TOKEN=${{ steps.app.outputs.token }}" >> $GITHUB_ENV

- name: Configure git with x-access-token
run: git config --global url."https://x-access-token:${{ steps.app.outputs.token }}@github.com/".insteadOf "https://github.com/"

- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}
fetch-depth: 1
path: tools

Expand All @@ -46,7 +61,7 @@ jobs:
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Clone build branch
run: git clone -b "${MAIN_BRANCH}" --depth=1 https://github.com/citusdata/packaging.git packaging
run: git clone -b "${MAIN_BRANCH}" --depth=1 https://github.com/citusdata/packaging.git packaging

- name: Install package dependencies
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev python3-testresources
Expand Down
21 changes: 19 additions & 2 deletions .github/workflows/citus-package-all-platforms-test.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: Citus package all platforms tests

env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
PACKAGING_PASSPHRASE: ${{ secrets.PACKAGING_PASSPHRASE }}
MICROSOFT_EMAIL: gindibay@microsoft.com
USER_NAME: Gurkan Indibay
Expand Down Expand Up @@ -36,8 +34,27 @@ jobs:
PLATFORM: ${{ matrix.platform }}

steps:
- name: Create GitHub App token
id: app
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_KEY }}
owner: ${{ github.repository_owner }}

- name: Set GH_TOKEN for all steps
run: |
echo "GH_TOKEN=${{ steps.app.outputs.token }}" >> $GITHUB_ENV
echo "GITHUB_TOKEN=${{ steps.app.outputs.token }}" >> $GITHUB_ENV

- name: Setup git authentication for GitHub App
run: |
git config --global url."https://x-access-token:${{ steps.app.outputs.token }}@github.com/".insteadOf "https://github.com/"

- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev python3-testresources
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/delete-packagecloud-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev python3-testresources
Expand Down
20 changes: 19 additions & 1 deletion .github/workflows/package-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@ jobs:
pg_versions: ${{ steps.generate-postgres.outputs.pg_versions }}
citus_version: ${{ steps.get-citus-version.outputs.citus_version }}
steps:

- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2

- name: Package version
id: get-citus-version
run: |
Expand Down Expand Up @@ -60,8 +62,24 @@ jobs:
PLATFORM: ${{ matrix.platform }}

steps:
- name: Checkout repository
- name: Create GitHub App token
id: app
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_KEY }}
owner: ${{ github.repository_owner }}

- name: Set GH_TOKEN for all steps
run: echo "GH_TOKEN=${{ steps.app.outputs.token }}" >> $GITHUB_ENV

- name: Configure git with x-access-token
run: git config --global url."https://x-access-token:${{ steps.app.outputs.token }}@github.com/".insteadOf "https://github.com/"

- name: Checkout
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev python3-testresources
Expand Down
20 changes: 16 additions & 4 deletions .github/workflows/packaging-methods-tests.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
name: Packaging helper methods tests

env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}

on:
push:
branches:
Expand All @@ -13,10 +10,25 @@ on:
jobs:
unit_test_execution:
runs-on: ubuntu-latest

steps:
- name: Create GitHub App token
id: app
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_KEY }}
owner: ${{ github.repository_owner }}

- name: Set GH_TOKEN for all steps
run: echo "GH_TOKEN=${{ steps.app.outputs.token }}" >> $GITHUB_ENV

- name: Configure git with x-access-token
run: git config --global url."https://x-access-token:${{ steps.app.outputs.token }}@github.com/".insteadOf "https://github.com/"

- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}

- name: Install package dependencies
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev python3-testresources
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-docker-image-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ on:
jobs:
unit_test_execution:
runs-on: ubuntu-latest

steps:

- name: Checkout repository
uses: actions/checkout@v3

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pypi-statistics-schedule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Install package dependencies
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev python3-testresources

Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/statistic-schedule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ env:
DB_PASSWORD: ${{ secrets.STATS_DB_PASSWORD }}
DB_HOST_AND_PORT: ${{ secrets.STATS_DB_HOST_AND_PORT }}
DB_NAME: ${{ secrets.STATS_DB_NAME }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
on:
schedule:
- cron: "0 16 * * *"
Expand All @@ -25,8 +24,24 @@ jobs:
job_name: [docker_pull_citus, github_clone_citus, homebrew_citus]

steps:
- name: Create GitHub App token
id: app
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_KEY }}
owner: ${{ github.repository_owner }}

- name: Set GH_TOKEN for all steps
run: echo "GH_TOKEN=${{ steps.app.outputs.token }}" >> $GITHUB_ENV

- name: Configure git with x-access-token
run: git config --global url."https://x-access-token:${{ steps.app.outputs.token }}@github.com/".insteadOf "https://github.com/"

- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}

- name: Install package dependencies
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev python3-testresources
Expand Down
19 changes: 17 additions & 2 deletions .github/workflows/statistic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ env:
DB_PASSWORD: ${{ secrets.STATS_DB_PASSWORD }}
DB_HOST_AND_PORT: ${{ secrets.STATS_DB_HOST_AND_PORT }}
DB_NAME: ${{ secrets.STATS_DB_NAME }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
PACKAGE_CLOUD_API_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_TOKEN }}
PACKAGE_CLOUD_ADMIN_API_TOKEN: ${{ secrets.PACKAGE_CLOUD_ADMIN_API_TOKEN }}
on:
Expand All @@ -19,10 +18,26 @@ on:
jobs:
unit_test_execution:
runs-on: ubuntu-latest

steps:
- name: Create GitHub App token
id: app
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_KEY }}
owner: ${{ github.repository_owner }}

- name: Set GH_TOKEN for all steps
run: echo "GH_TOKEN=${{ steps.app.outputs.token }}" >> $GITHUB_ENV

- name: Configure git with x-access-token
run: git config --global url."https://x-access-token:${{ steps.app.outputs.token }}@github.com/".insteadOf "https://github.com/"

- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}

- name: Install package dependencies
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev python3-testresources
Expand Down
19 changes: 17 additions & 2 deletions .github/workflows/tool-tests.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Tool Tests

env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
MICROSOFT_EMAIL: gindibay@microsoft.com
USER_NAME: Gurkan Indibay
MAIN_BRANCH: all-citus
Expand All @@ -20,16 +19,32 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v3

- name: Install all scripts
run: make && sudo make install

unit_test_execution:
runs-on: ubuntu-latest

steps:

- name: Create GitHub App token
id: app
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_KEY }}
owner: ${{ github.repository_owner }}

- name: Set GH_TOKEN for all steps
run: echo "GH_TOKEN=${{ steps.app.outputs.token }}" >> $GITHUB_ENV

- name: Configure git with x-access-token
run: git config --global url."https://x-access-token:${{ steps.app.outputs.token }}@github.com/".insteadOf "https://github.com/"

- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ steps.app.outputs.token }}
fetch-depth: 0

- name: Set up Python 3.10
Expand Down
11 changes: 7 additions & 4 deletions packaging_automation/citus_package.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ def sign_packages(
print(f"Result:{output}")

if result.returncode != 0:
raise ValueError(f"Error while signing rpm files.Err:{result.stderr}")
raise ValueError(f"Error while signing rpm files.Err:{result.stdout}")
if input_output_parameters.output_validation:
validate_output(
output,
Expand Down Expand Up @@ -357,10 +357,13 @@ def build_package(
print(f"Executing docker command: {docker_command}")
output = run_with_output(docker_command, text=True)

if output.stdout:
print("Output:" + output.stdout)
if output.returncode != 0:
raise ValueError(output.stderr)
raise ValueError(
"Docker command failed.\n"
f"Command: {docker_command}\n"
f"Exit code: {output.returncode}\n"
f"--- combined output (stdout+stderr) ---\n{output.stdout}\n"
)

if input_output_parameters.output_validation:
validate_output(
Expand Down
14 changes: 11 additions & 3 deletions packaging_automation/common_tool_methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,13 @@ def run_with_output(command, *args, **kwargs):
# this method's main objective is to return output. Therefore it is caller's responsibility to handle
# success status
# pylint: disable=subprocess-run-check
result = subprocess.run(shlex.split(command), *args, capture_output=True, **kwargs)
result = subprocess.run(
shlex.split(command),
*args,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
**kwargs
)
return result


Expand Down Expand Up @@ -677,10 +683,12 @@ def remove_suffix(initial_str: str, suffix: str) -> str:
return result_str


def initialize_env(exec_path: str, project_name: str, checkout_dir: str):
def initialize_env(exec_path: str, project_name: str, checkout_dir: str, gh_token: str = None):
if gh_token is None:
print("GITHUB_TOKEN not found") # Needed for cloning - may fail
remove_cloned_code(f"{exec_path}/{checkout_dir}")
if not os.path.exists(checkout_dir):
run(f"git clone https://github.com/citusdata/{project_name}.git {checkout_dir}")
run(f"git clone https://x-access-token:{gh_token}@github.com/citusdata/{project_name}.git {checkout_dir}")


def create_pr(
Expand Down
4 changes: 2 additions & 2 deletions packaging_automation/tests/test_citus_package.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ def setup_module():
)
if not os.path.exists(PACKAGING_EXEC_FOLDER):
run(
f"git clone --branch {packaging_branch_name} https://github.com/citusdata/packaging.git"
f" {PACKAGING_EXEC_FOLDER}"
f"git clone --branch {packaging_branch_name} https://x-access-token:{GH_TOKEN}@github.com/citusdata/packaging.git "
f"{PACKAGING_EXEC_FOLDER}"
)


Expand Down
3 changes: 1 addition & 2 deletions packaging_automation/tests/test_citus_package_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
TEST_GPG_KEY_NAME = "Citus Data <packaging@citusdata.com>"
TEST_GPG_KEY_PASSPHRASE = "Citus123"
GH_TOKEN = os.getenv("GH_TOKEN")

PACKAGING_SOURCE_FOLDER = "packaging_test"
PACKAGING_EXEC_FOLDER = f"{TEST_BASE_PATH}/{PACKAGING_SOURCE_FOLDER}"
OUTPUT_FOLDER = f"{PACKAGING_EXEC_FOLDER}/packages"
Expand All @@ -46,7 +45,7 @@
def setup_module():
if not os.path.exists("packaging_test"):
run(
f"git clone --branch all-citus-unit-tests https://github.com/citusdata/packaging.git {PACKAGING_SOURCE_FOLDER}"
f"git clone --branch all-citus-unit-tests https://x-access-token:{GH_TOKEN}@github.com/citusdata/packaging.git {PACKAGING_SOURCE_FOLDER}"
)


Expand Down
2 changes: 1 addition & 1 deletion packaging_automation/tests/test_prepare_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def initialize_env() -> str:
test_base_path_major = f"{BASE_PATH}/{uuid.uuid4()}"
remove_cloned_code(test_base_path_major)
if not os.path.exists(test_base_path_major):
run(f"git clone https://github.com/citusdata/citus.git {test_base_path_major}")
run(f"git clone https://x-access-token:{github_token}@github.com/citusdata/citus.git {test_base_path_major}")
return test_base_path_major


Expand Down
Loading
Loading