Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
ebed4ca
wip
juliannguyen4 Aug 15, 2025
b3cf0ed
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Aug 29, 2025
da9f480
get jfrog project name dynamically from env var
juliannguyen4 Aug 29, 2025
ff0960e
example was wrong?
juliannguyen4 Aug 29, 2025
cab272e
do basic plumbing
juliannguyen4 Aug 29, 2025
03d1fd7
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Dec 9, 2025
1bc924a
Update shared-workflows
juliannguyen4 Dec 9, 2025
35b8c93
Limit permissions for the bump-version workflow
juliannguyen4 Dec 9, 2025
e38ee31
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Dec 10, 2025
f730670
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Dec 10, 2025
974612b
Just use config variable for simplcity for now
juliannguyen4 Dec 10, 2025
3c477a9
fix
juliannguyen4 Dec 10, 2025
cc815dc
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Dec 10, 2025
85ba1cb
Remove overly permissive permissions. Add dry run option to avoid aff…
juliannguyen4 Dec 10, 2025
e620aa2
Finish dry run
juliannguyen4 Dec 11, 2025
f8608e2
Fix dry run not working in push event
juliannguyen4 Dec 11, 2025
ae61fdb
fix
juliannguyen4 Dec 11, 2025
1a42a96
Fix oidc credentials
juliannguyen4 Dec 11, 2025
76c389c
try databases proj
juliannguyen4 Dec 11, 2025
ff27629
Add glue code
juliannguyen4 Dec 12, 2025
ec8d426
fix...
juliannguyen4 Dec 12, 2025
23e8734
fix...
juliannguyen4 Dec 12, 2025
b5f62a8
fix
juliannguyen4 Dec 12, 2025
aa6fc5b
Replace oidc credentials with variables in case it's changed upstream
juliannguyen4 Dec 15, 2025
2c25023
Fix
juliannguyen4 Dec 15, 2025
4f7b0a1
Add job to promote release bundle to DEV
juliannguyen4 Dec 15, 2025
ea8975c
fix
juliannguyen4 Dec 16, 2025
2d57d4c
Create reusable workflow to promote release bundle to any stage
juliannguyen4 Dec 16, 2025
38f679a
In dev-to-stage workflow, promote release bundle to TEST environment
juliannguyen4 Dec 16, 2025
543008b
Fix syntax..
juliannguyen4 Dec 16, 2025
fb9549a
Write skeleton code for promoting to dev
juliannguyen4 Dec 19, 2025
84f7172
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Dec 31, 2025
e11b6b7
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Jan 2, 2026
97440d8
very WIP
juliannguyen4 Jan 2, 2026
255d129
Add back dev-workflow-part2.yml. It will be used to tag commits but n…
juliannguyen4 Jan 2, 2026
f246032
Todo wip
juliannguyen4 Jan 2, 2026
0076fc7
fix
juliannguyen4 Jan 3, 2026
2163d70
Resolve warnings about permissions
juliannguyen4 Jan 5, 2026
83e32cd
Valgrind: have option to use github artifact instead of jfrog artifact
juliannguyen4 Jan 5, 2026
bfae492
Register
juliannguyen4 Jan 5, 2026
d5713c3
fix
juliannguyen4 Jan 5, 2026
2706116
Revert "Register"
juliannguyen4 Jan 5, 2026
293a21b
Both reusable workflows need this permission
juliannguyen4 Jan 5, 2026
7a3f55a
Calling workflow permissions cannot be elevated
juliannguyen4 Jan 5, 2026
9e2f5a4
Fix permissions
juliannguyen4 Jan 5, 2026
1b2e981
fix ghcr.io docker images not being pulled
juliannguyen4 Jan 5, 2026
424a09c
Add test-file input to speed up debugging.
juliannguyen4 Jan 5, 2026
11755d3
Only download a specific artifact and not all artifacts
juliannguyen4 Jan 5, 2026
e774330
Add inputs to run name to make easier to find test runs
juliannguyen4 Jan 5, 2026
14795a7
Reusable workflow must inherit secrets to access them
juliannguyen4 Jan 5, 2026
c976de5
We want valgrind job to pass to test the other jobs downstream
juliannguyen4 Jan 5, 2026
1efd797
TODO WIP
juliannguyen4 Jan 5, 2026
951fab3
fix
juliannguyen4 Jan 5, 2026
5fce493
Forgot that workflow_call is not set in github.event_name
juliannguyen4 Jan 5, 2026
1b7924e
fix
juliannguyen4 Jan 5, 2026
97f55e0
fix
juliannguyen4 Jan 6, 2026
ac98873
fix
juliannguyen4 Jan 6, 2026
7f49a57
fix..
juliannguyen4 Jan 6, 2026
0cd96e8
just use this for now
juliannguyen4 Jan 6, 2026
7554b36
Add ability to skip dev tests in case self hosted runners are being u…
juliannguyen4 Jan 6, 2026
2147e1e
Fix...
juliannguyen4 Jan 6, 2026
b1ffab4
Revert "just use this for now"
juliannguyen4 Jan 6, 2026
d44f31d
fix
juliannguyen4 Jan 6, 2026
460b4a8
Try passing signing-key
juliannguyen4 Jan 6, 2026
d24575e
Jerry rig for testing
juliannguyen4 Jan 6, 2026
b499f09
Push to a specific repo to avoid pushing to all repos mapping to DEV …
juliannguyen4 Jan 6, 2026
3315d8c
leave as todo for now.
juliannguyen4 Jan 7, 2026
a6d15bb
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Jan 7, 2026
9985035
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Feb 24, 2026
6dab600
Test changes in my PR
juliannguyen4 Feb 24, 2026
6b27148
For dry running, don't promote release bundle
juliannguyen4 Feb 25, 2026
fa5204e
Since this workflow is only run manually, don't check for push events
juliannguyen4 Feb 25, 2026
816b901
fix workflow
juliannguyen4 Feb 25, 2026
fb84775
have jf rbp composite action take in the repo name to allow other tea…
juliannguyen4 Feb 25, 2026
8db6b53
Fix workflow. Also allow passing in JFrog project name to composite a…
juliannguyen4 Feb 25, 2026
8f06652
Make sure jf rbp also knows the project to use
juliannguyen4 Feb 25, 2026
de1ee5f
Create new revision to test release bundle workflow. Cannot delete re…
juliannguyen4 Feb 26, 2026
1a3af4c
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Feb 26, 2026
0af4ff5
Download artifact from latest release bundle
juliannguyen4 Feb 27, 2026
3be525d
For now, don't bump and commit the new version in dev.
juliannguyen4 Mar 3, 2026
78ee4be
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Mar 17, 2026
1a9ee87
WIP definitely not done
juliannguyen4 Mar 17, 2026
a2abc21
WIP on shell script that builds python client from source. This can b…
juliannguyen4 Mar 17, 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
8 changes: 7 additions & 1 deletion .github/actions/get-artifact-for-stage-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,11 @@ runs:

- name: Download artifact from JFrog
if: ${{ inputs.get_from_jfrog == 'true' }}
run: jf rt dl --fail-no-op --flat --build python-client/${{ inputs.jfrog_build_version }} "${{ inputs.JFROG_REPO_NAME }}/**/${{ env.ARTIFACT_FILE_NAME_PATTERN }}"
run: |
bundle_version=$(jf rbs --format json --order-by created --project database versions python-client-release | jq -r '.release_bundles[0].release_bundle_version')
# Currently no way to download specific artifacts from a release bundle
# Using ARTIFACT_FILE_NAME_PATTERN with jf rt dl --bundle doesn't work
build_number="${bundle_version##*-}"
artifact_path=$(jf rt s --project database --fail-no-op --build python-client/$build_number "database-pypi-dev-local/**/$ARTIFACT_FILE_NAME_PATTERN" | jq -r '.[0].path')
jf rt dl --project database --fail-no-op --flat $artifact_path
shell: bash
3 changes: 3 additions & 0 deletions .github/workflows/build-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ on:
required: false
type: string
default: ''
outputs:
build-version:
value: ${{ jobs.build-sdist.outputs.sdist-version }}
secrets:
DOCKER_HUB_BOT_USERNAME:
required: true
Expand Down
57 changes: 57 additions & 0 deletions .github/workflows/build-python-client.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# On macOS and Windows, this is expected to run on bare metal
# On Linux, this is expected to run in a container from the manylinux image
os=$(uname -s)
running_on_windows=$([[ "$os" =~ CYGWIN* || "$os" =~ MINGW* ]])
if [[ $running_on_windows ]]; then
nuget restore
fi

if [[ $os =~ Darwin* ]]; then
brew install openssl@3 libyaml

export MACOSX_DEPLOYMENT_TARGET
MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | cut -d"." -f 1).0"

if [[ $(uname -m) == "arm64" ]]; then
libraries=('libyaml' 'openssl')
for library in "${libraries[@]}"; do
LIBRARY_PATH="${LIBRARY_PATH}:$(brew --prefix "$library")/lib"
done
export LIBRARY_PATH="$LIBRARY_PATH"
else
export LDFLAGS='-headerpad_max_install_names'
fi
fi

if [[ $os =~ Linux* ]]; then
yum install libyaml-devel -y
fi

python3 -m pip install build -c requirements.txt
python3 -m build

if [[ $os =~ Linux* ]]; then
unrepaired_wheel_path=$(find dist/ -type f -name '*.whl' | head -n 1)
if [[ "$DEBUG" != "" ]]; then
auditwheel show "$unrepaired_wheel_path"
WHEEL_DIR=wheel-contents
unzip "$unrepaired_wheel_path" -d $WHEEL_DIR
ldd $WHEEL_DIR/*.so | awk '{print $1}' | grep libssl.so.3
ldd $WHEEL_DIR/*.so | awk '{print $1}' | grep libcrypto.so.3
fi

auditwheel repair -w wheelhouse/ "$unrepaired_wheel_path"

if [[ "$DEBUG" != "" ]]; then
auditwheel show wheelhouse/*
fi

# TODO: This should happen if any steps after creating the dir fail
rm -rf "$WHEEL_DIR"
elif [[ $os =~ Darwin* ]]; then
delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
delocate-listdeps {dest_dir}/*.whl | grep libcrypto.3.dylib
delocate-listdeps {dest_dir}/*.whl | grep libssl.3.dylib
elif [[ $running_on_windows ]]; then
delvewheel repair -vv --add-path ./aerospike-client-c/vs/x64/Release -w wheelhouse "$unrepaired_wheel_path"
fi
8 changes: 8 additions & 0 deletions .github/workflows/build-sdist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,57 +9,65 @@
sha_to_build:
type: string
required: true
outputs:
sdist-version:
value: ${{ jobs.build-sdist.outputs.sdist-version }}

env:
STATUS_CHECK_MESSAGE: "Build source distribution"
COMMIT_SHA_TO_BUILD: ${{ inputs.is_workflow_call == true && inputs.sha_to_build || github.sha }}

jobs:
build-sdist:
outputs:
sdist-version: ${{ steps.get-sdist-version.outputs.version }}
name: Build source distribution
runs-on: ubuntu-22.04
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0
with:
egress-policy: audit

- name: Show job status for commit
# Commit status will already be shown by the calling workflow for push and pull request events, but not
# for any other event like workflow_dispatch. so we have to do it manually
# If workflow_call triggered this job, github.event_name will inherit the event of the calling workflow
# The calling workflow can be triggered by push or pull request events, so there's that
# https://github.com/actions/runner/issues/3146#issuecomment-2000017097
if: ${{ github.event_name != 'push' && github.event_name != 'pull_request' }}
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
with:
sha: ${{ env.COMMIT_SHA_TO_BUILD }}
context: ${{ env.STATUS_CHECK_MESSAGE }}

- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
submodules: recursive
ref: ${{ env.COMMIT_SHA_TO_BUILD }}
fetch-depth: 0

- name: Install build dependencies (pip packages)
run: python3 -m pip install -r requirements.txt

- name: Build source distribution
run: python3 -m build --sdist

- id: get-sdist-version
run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT

- name: Upload source distribution to GitHub
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
path: ./dist/*.tar.gz
name: sdist.build

- name: Set final commit status
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
# Always run even if job failed or is cancelled
# But we don't want to show anything if the calling workflow was triggered by these events
if: ${{ always() && github.event_name != 'push' && github.event_name != 'pull_request' }}
with:
sha: ${{ env.COMMIT_SHA_TO_BUILD }}
status: ${{ job.status }}
context: ${{ env.STATUS_CHECK_MESSAGE }}

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
1 change: 1 addition & 0 deletions .github/workflows/build-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,7 @@ jobs:
- if: ${{ startsWith(inputs.platform-tag, 'manylinux') }}
run: echo CIBW_MANYLINUX_AARCH64_IMAGE=${{ format(env.CUSTOM_IMAGE_NAME, 'aarch64', 'dadc371c3647efe5a1f3a7c99edddea1d8db542e3d2ad48bf63fa81364fb63b6') }} >> $GITHUB_ENV

# TODO: would need way to pull this outside of shared workflow
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
if: ${{ startsWith(inputs.platform-tag, 'manylinux') }}
with:
Expand Down
44 changes: 6 additions & 38 deletions .github/workflows/bump-stage-and-upload-to-jfrog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,44 +24,12 @@ jobs:
base_branch: ${{ vars.STAGE_BRANCH_NAME }}
secrets: inherit

promote-dev-build-to-rc:
name: Bump (promote) the dev version to an RC version in the stage branch
needs: ff-stage-to-dev-tag
uses: ./.github/workflows/bump-version.yml
with:
change: 'promote-dev-build-to-rc'
ref: ${{ vars.STAGE_BRANCH_NAME }}
secrets: inherit

rebuild-artifacts-with-rc-version:
needs: promote-dev-build-to-rc
uses: ./.github/workflows/build-artifacts.yml
with:
sha-to-build-and-test: ${{ needs.promote-dev-build-to-rc.outputs.bump_sha }}
secrets: inherit

upload-rc-artifacts-to-jfrog:
promote-release-bundle-to-dev:
needs: [
rebuild-artifacts-with-rc-version,
# We need the new RC version to label the build in JFrog
promote-dev-build-to-rc
ff-stage-to-dev-tag,
]
name: Upload artifacts to JFrog
uses: ./.github/workflows/upload-to-jfrog.yml
uses: ./.github/workflows/promote-release-bundle.yml
with:
version: ${{ needs.promote-dev-build-to-rc.outputs.new_version }}
secrets: inherit

# See reason for deleting artifacts in dev-workflow-p2.yml
delete-artifacts:
needs: upload-rc-artifacts-to-jfrog
uses: ./.github/workflows/delete-artifacts.yml

ff-dev-to-stage:
name: Fast forward dev branch to stage branch to include the bump to RC commit
needs: promote-dev-build-to-rc
uses: ./.github/workflows/fast-forward-merge.yml
with:
ref_to_merge: origin/${{ vars.STAGE_BRANCH_NAME }}
base_branch: ${{ vars.DEV_BRANCH_NAME }}
secrets: inherit
release-bundle-name: python-client-release
release-bundle-version: ${{ inputs.passed-dev-tag }}
new-environment: TEST
21 changes: 17 additions & 4 deletions .github/workflows/bump-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,18 @@ on:
- bump-dev-num
- promote-dev-build-to-rc
- promote-rc-build-to-release
dry-run:
required: false
default: false
type: boolean
description: No tagging in repo
workflow_call:
inputs:
dry-run:
required: false
default: false
type: boolean
description: Dry run
change:
# Since workflow_call doesn't support 'options' input type,
# we take in a string instead that must be a valid Python script name (excluding the .py part)
Expand All @@ -37,8 +47,6 @@ on:
outputs:
new_version:
value: ${{ jobs.get-new-version.outputs.new_version }}
bump_sha:
value: ${{ jobs.update-version-in-repo.outputs.bump_sha }}

jobs:
get-current-version:
Expand All @@ -57,10 +65,14 @@ jobs:
with:
token: ${{ secrets.CLIENT_BOT_PAT }}
ref: ${{ inputs.ref }}
# Get all tags
fetch-depth: 0

- name: Get current version
- name: Get tag from previous commit
id: get-current-version
run: echo current_version=$(cat VERSION) >> $GITHUB_OUTPUT
run: |
prev_commit=$(git rev-parse HEAD~)
echo current_version=$(git describe --tags --exact-match $prev_commit) >> $GITHUB_OUTPUT

get-new-version:
runs-on: ubuntu-22.04
Expand Down Expand Up @@ -93,4 +105,5 @@ jobs:
with:
new_version: ${{ needs.get-new-version.outputs.new_version }}
ref: ${{ inputs.is_workflow_call && inputs.ref || github.ref }}
dry-run: ${{ inputs.dry-run }}
secrets: inherit
17 changes: 13 additions & 4 deletions .github/workflows/dev-workflow-part2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,42 @@
branches:
- 'dev*'
workflow_dispatch:
inputs:
dry-run:
description: Don't create tag in repo
type: boolean
required: false
default: true

jobs:
bump-dev-number:
tag-new-commit-with-dev-number:
uses: ./.github/workflows/bump-version.yml
with:
change: 'bump-dev-num'
dry-run: ${{ inputs.dry-run }}
secrets: inherit

rebuild-artifacts-with-new-dev-num:
needs: bump-dev-number
needs: tag-new-commit-with-dev-number
name: Rebuild artifacts with new dev number
uses: ./.github/workflows/build-artifacts.yml
with:
# On pull_request_target, the bump version commit will be ignored
# So we must pass it manually to the workflow
sha-to-build-and-test: ${{ needs.bump-dev-number.outputs.bump_sha }}
sha-to-build-and-test: ${{ github.sha }}
# override-version: ${{ needs.tag-new-commit-with-dev-number.outputs.new_version }}
secrets: inherit

upload-to-jfrog:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
name: Upload artifacts to JFrog
needs: [
bump-dev-number,
tag-new-commit-with-dev-number,
rebuild-artifacts-with-new-dev-num
]
uses: ./.github/workflows/upload-to-jfrog.yml
with:
version: ${{ needs.bump-dev-number.outputs.new_version }}
dry-run: ${{ inputs.dry-run }}
secrets: inherit

# We don't want the artifacts in JFrog to also exist in Github
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/promote-release-bundle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
on:
workflow_call:
inputs:
release-bundle-name:
type: string
required: true
release-bundle-version:
type: string
required: true
new-environment:
type: string
required: true
jfrog-project:
type: string
required: true
jfrog-repo-name:
type: string
required: true

jobs:
promote-release-bundle-to-dev:
runs-on: ubuntu-24.04
env:
JF_PROJECT: ${{ inputs.jfrog-project }}
steps:
- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@5b06f730cc5a6f55d78b30753f8583454b08c0aa # v4.8.1
env:
JF_URL: https://artifact.aerospike.io
with:
oidc-provider-name: ${{ vars.OIDC_PROVIDER_NAME }}
oidc-audience: ${{ vars.OIDC_AUDIENCE }}

- run: jf rbp --signing-key=aerospike --include-repos ${{ inputs.jfrog-repo-name }} ${{ inputs.release-bundle-name }} ${{ inputs.release-bundle-version }} ${{ inputs.new-environment }}
Comment on lines +22 to +34

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}

Copilot Autofix

AI 6 days ago

In general, the fix is to add an explicit permissions block either at the workflow root or on the specific job so that GITHUB_TOKEN does not default to potentially broad repository/organization permissions. The permissions should be limited to the least privilege necessary for this workflow.

For this specific workflow, the job only sets up the JFrog CLI with OIDC and runs jf rbp .... There is no evidence of creating or modifying issues, pull requests, releases, or repository contents via the GitHub API. The safest change that preserves existing behavior is to add a job-level permissions block that restricts contents to read. If in reality the job does not need GITHUB_TOKEN at all, you could go further and use permissions: {}; however, that may cause future steps added to this reusable workflow to fail unexpectedly. A conservative, compatible fix is therefore:

permissions:
  contents: read

placed under the promote-release-bundle-to-dev job, aligned with other job keys like runs-on. No imports or additional methods are needed because this is a GitHub Actions YAML configuration change only.

Concretely, in .github/workflows/promote-release-bundle.yml, update the promote-release-bundle-to-dev job definition (around line 21–24) to insert a permissions block between runs-on: ubuntu-24.04 and env:.

Suggested changeset 1
.github/workflows/promote-release-bundle.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/promote-release-bundle.yml b/.github/workflows/promote-release-bundle.yml
--- a/.github/workflows/promote-release-bundle.yml
+++ b/.github/workflows/promote-release-bundle.yml
@@ -20,6 +20,8 @@
 jobs:
   promote-release-bundle-to-dev:
     runs-on: ubuntu-24.04
+    permissions:
+      contents: read
     env:
       JF_PROJECT: ${{ inputs.jfrog-project }}
     steps:
EOF
@@ -20,6 +20,8 @@
jobs:
promote-release-bundle-to-dev:
runs-on: ubuntu-24.04
permissions:
contents: read
env:
JF_PROJECT: ${{ inputs.jfrog-project }}
steps:
Copilot is powered by AI and may make mistakes. Always verify output.
64 changes: 64 additions & 0 deletions .github/workflows/run-dev-tests-and-promote-to-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Run dev tests and promote release bundle to DEV
run-name: Run dev tests and promote release bundle to DEV (dry-run=${{ inputs.dry-run }}, test-file=${{ inputs.test-file }})

permissions:
# We are building the artifacts in build-artifacts.yml
contents: read
# For shared reusable workflows
# TODO: look into more
id-token: write
statuses: write
# For downloading docker images from ghcr.io
packages: read

on:
workflow_dispatch:
inputs:
# These inputs are in case we need to test against a server RC
registry-name:
type: string
required: true
description: Registry name
default: 'docker.io'
image-name:
type: string
required: true
description: Image name
default: 'aerospike/aerospike-server-enterprise'
server-tag:
type: string
required: true
default: 'latest'
description: 'Server docker image tag (e.g to test a client backport version)'
# For testing purposes
dry-run:
required: false
default: false
type: boolean
description: Don't create release bundle
run_tests:
required: false
default: false
type: boolean
description: Run dev tests
test-file:
required: false
type: string
description: For speeding up debugging

jobs:
dev-workflow:
uses: aerospike/shared-workflows/.github/workflows/reusable_artifacts-cicd.yaml@8f53b63b33d86e63aeb37d951283dd974574885b
with:
gh-workflows-ref: 8f53b63b33d86e63aeb37d951283dd974574885b
jf-project: ${{ vars.JFROG_PROJECT_FOR_CLIENT_TEAM }}
jf-build-name: ${{ vars.JFROG_BUILD_NAME }}
# TODO: ${{ needs.run-dev-tests.outputs.build-version }}- needs to be applied to version
version: ${{ github.run_number }}
gh-artifact-directory: dist
build-script: |
make build
# Optional:
build-type: release # Freeform label, applied as build.type target-prop
internal: false # Set true to mark artifacts as internal-only
secrets: inherit
Loading
Loading