Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
193 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
29b89a5
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Apr 15, 2026
00947b1
Replace release bundle promotion step with shared action.
juliannguyen4 Apr 15, 2026
0f82ad8
WIP - move to orchestrator workflow to build and deploy artifacts to …
juliannguyen4 Apr 15, 2026
c5f7801
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Apr 20, 2026
811cd7f
First rough draft of getting the whole dev/stage workflows to use the…
juliannguyen4 Apr 20, 2026
53dfda9
more progress on moving to orchestrator workflow
juliannguyen4 Apr 20, 2026
7b1450e
Merge remote-tracking branch 'origin/CLIENT-3467-cicd-use-orchestrato…
juliannguyen4 Apr 20, 2026
b11aa4a
Probably makes more sense to store in root folder. This is where the …
juliannguyen4 Apr 20, 2026
fb5dae2
Move build logic from cibuildwheel to a shell script. TODO - need to …
juliannguyen4 Apr 20, 2026
7d75977
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Apr 20, 2026
ba77f10
make env var name less ambiguous
juliannguyen4 Apr 20, 2026
314fa92
Rename script to be more specific about what it does
juliannguyen4 Apr 20, 2026
72a73ba
Fix workflow
juliannguyen4 Apr 20, 2026
dbadbd6
Fix workflow syntax
juliannguyen4 Apr 20, 2026
e3aceb0
Print commands to show where script fails
juliannguyen4 Apr 20, 2026
3a8202b
Add shebang to run script without giving bash at beginning
juliannguyen4 Apr 20, 2026
b40e2e7
Fix bash syntax.
juliannguyen4 Apr 20, 2026
0b016df
More accurate naming
juliannguyen4 Apr 20, 2026
92d9420
Set up the python version for the wheel we're building. TODO - can re…
juliannguyen4 Apr 20, 2026
d8c045e
Fix workflow
juliannguyen4 Apr 20, 2026
d7514e7
Fix windows silently failing at this step
juliannguyen4 Apr 20, 2026
6d4551e
Fix macos repair failing
juliannguyen4 Apr 20, 2026
9e65f0a
Prevent universal wheel from being built on macos arm64
juliannguyen4 Apr 20, 2026
e459d6f
First attempt at creating my own manylinux script
juliannguyen4 Apr 20, 2026
8037098
Make sure absolute path of running script is used
juliannguyen4 Apr 20, 2026
ba9cc9a
chmod u+x
juliannguyen4 Apr 21, 2026
4060a1a
Also set this env var to force setuptools/distutils to build only for…
juliannguyen4 Apr 21, 2026
07f816d
noticed the other bash regex strings don't have quotes.
juliannguyen4 Apr 21, 2026
60aaacf
Fix shell syntax
juliannguyen4 Apr 21, 2026
4ba6275
Fix manylinux x86_64 jobs using the wrong image
juliannguyen4 Apr 21, 2026
b5a5e51
Since e flag is set, disable it when assigning value to running_on_wi…
juliannguyen4 Apr 21, 2026
773e908
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Apr 21, 2026
b27db7b
Don't install libyaml now that it is baked into the custom image
juliannguyen4 Apr 21, 2026
caed08f
For manylinux wheels, we need to specify the python version build. De…
juliannguyen4 Apr 21, 2026
1fa20ee
0 doesn't include the script name
juliannguyen4 Apr 21, 2026
96b530c
Run in /repo directory so we can access root level requirements.txt
juliannguyen4 Apr 21, 2026
d62a49f
Fix script path
juliannguyen4 Apr 21, 2026
2511a8c
fix syntax or bash will try to find this script in PATH
juliannguyen4 Apr 21, 2026
82349dd
Since owner of repo is different from container's user, trust the rep…
juliannguyen4 Apr 21, 2026
a38ecf9
Rm redundant steps since we already mounted our repo to the container
juliannguyen4 Apr 21, 2026
b9f452a
By default, clean up the container. Otherwise for debugging, allow co…
juliannguyen4 Apr 21, 2026
32b3c0d
Attempt to make compiler only compile x86 wheels on macos x86 and not…
juliannguyen4 Apr 21, 2026
1192b50
Repair step is unable to find pthreadvc2.dll. cibuildwheel doesn't ha…
juliannguyen4 Apr 21, 2026
bf62447
Try upgrading jf to make sure it supports searching release bundles
juliannguyen4 Apr 21, 2026
8e198eb
Still using 2.81.0. Manually upgrade
juliannguyen4 Apr 21, 2026
596fbbb
Fix bug
juliannguyen4 Apr 21, 2026
09d7024
Clean up script
juliannguyen4 Apr 21, 2026
16dee42
Fix cleanup script not working.
juliannguyen4 Apr 21, 2026
01e1ecc
Make native script private and a public script that calls it. Then on…
juliannguyen4 Apr 21, 2026
e1d7ab3
Fix native jobs
juliannguyen4 Apr 21, 2026
7115751
Add required secrets (they aren't used anyway?)
juliannguyen4 Apr 21, 2026
b40ad27
Fix shared workflow failing because script is called using absolute p…
juliannguyen4 Apr 21, 2026
e59572c
Fix incorrect internal script name
juliannguyen4 Apr 21, 2026
444f1d5
As workaround for having no way to pass args to build script, use env…
juliannguyen4 Apr 21, 2026
642a72c
This script runs with the same args for all platforms, so we need to …
juliannguyen4 Apr 22, 2026
45a5977
Fix build script
juliannguyen4 Apr 22, 2026
7555a26
Fix bash syntax
juliannguyen4 Apr 22, 2026
dac64fc
Merge remote-tracking branch 'origin/dev' into CLIENT-3467-cicd-use-j…
juliannguyen4 Apr 27, 2026
916f8aa
Now try pulling manylinux images from JFrog
juliannguyen4 Apr 27, 2026
f4a712a
Forgot to update digest for build-wheel.yml, which is declared separa…
juliannguyen4 Apr 27, 2026
370c29e
Pin manylinux image digests in the script used by both build-wheels a…
juliannguyen4 Apr 27, 2026
eb053df
Fix script
juliannguyen4 Apr 27, 2026
9795ee2
Fix docker image format
juliannguyen4 Apr 27, 2026
0330c56
Fix wrong sha's
juliannguyen4 Apr 28, 2026
0c90e3d
Use digest from origin/dev
juliannguyen4 Apr 28, 2026
e8c6481
Polish scripts
juliannguyen4 Apr 28, 2026
7ac8dec
Add smoke tests that just imports aerospike. TODO have to decide whet…
juliannguyen4 Apr 28, 2026
ea3f6d5
Clean up build-wheels.yml
juliannguyen4 Apr 28, 2026
1572b71
Move platform-tag to runner-os matrix to a file so we can load from b…
juliannguyen4 Apr 30, 2026
9372cc8
Scaffolding for moving all supported python versions and platform-tag…
juliannguyen4 Apr 30, 2026
686a08b
Potential fix for code scanning alert no. 198: Workflow does not cont…
juliannguyen4 Apr 30, 2026
f41dc1f
Replace all references to python tag since we no longer use it
juliannguyen4 Apr 30, 2026
fc82720
Improve var naming
juliannguyen4 Apr 30, 2026
9d8efbf
When building custom manylinux image, use our own pinned manylinux im…
juliannguyen4 Apr 30, 2026
47dd8e0
Add permissions to address Github copilot warnings
juliannguyen4 Apr 30, 2026
3b864a1
Since we don't need to rebuild artifacts when promoting to dev, stage…
juliannguyen4 Apr 30, 2026
a12cfb0
Bump to next patch version automatically instead of minor so we don't…
juliannguyen4 Apr 30, 2026
2c0f850
Add back logic to manually update version - need this to revert a lar…
juliannguyen4 Apr 30, 2026
99c41af
Rename dev-workflow-part2 to just bump-dev-number-and-tag-commit.yml …
juliannguyen4 Apr 30, 2026
c426d58
Finish logic to bump release version
juliannguyen4 Apr 30, 2026
74944ec
Only trigger autotag workflow is a commit is made to avoid the workfl…
juliannguyen4 Apr 30, 2026
5fea6bd
Add workflow call trigger so we can call this when master needs to be…
juliannguyen4 Apr 30, 2026
e35b1d7
No longer needed
juliannguyen4 Apr 30, 2026
e59bb40
Distinguish between tags and versions to make less confusing
juliannguyen4 Apr 30, 2026
4a446c7
Fix dry run logic
juliannguyen4 Apr 30, 2026
ff93750
Rm unnecessary comment
juliannguyen4 Apr 30, 2026
2b2f7f6
Remove comment since we no longer save the runner os in the workflow …
juliannguyen4 Apr 30, 2026
fe436ac
Fix dry run logic
juliannguyen4 Apr 30, 2026
ee8d576
Add missing permissions to address github copilot error
juliannguyen4 Apr 30, 2026
46aa4ee
Clean up promotion workflow
juliannguyen4 Apr 30, 2026
d466f4a
Run integration tests without extra test setup steps since that's alr…
juliannguyen4 Apr 30, 2026
3938964
match the default input value for selecting all the python versions
juliannguyen4 Apr 30, 2026
bb77a7b
Fix workflow
juliannguyen4 Apr 30, 2026
f8777eb
This logic is now in the build shell script
juliannguyen4 Apr 30, 2026
cfd252c
need to pass as inputs
juliannguyen4 Apr 30, 2026
b57ef6b
Use matrix to choose python version instead. GHA doesn't support matr…
juliannguyen4 Apr 30, 2026
b876b08
No longer downloading custom manylinux images from ghcr.io
juliannguyen4 Apr 30, 2026
4d8d3e4
Just noticed build-script-path probably can't take in args, so just u…
juliannguyen4 Apr 30, 2026
0c5e47e
Workaround for passing the desired python version to use in manylinux…
juliannguyen4 Apr 30, 2026
adb3720
Finish up dev workflow
juliannguyen4 Apr 30, 2026
25d12f6
Fail dev workflow if no changes to dev were made since the last release.
juliannguyen4 Apr 30, 2026
64f1ab2
Add code that deletes tags if downgrading the version bump
juliannguyen4 Apr 30, 2026
7a136bb
Fix workflow naming
juliannguyen4 May 1, 2026
1467255
Limit permissions per job instead of workflow to resolve github bot c…
juliannguyen4 May 1, 2026
2669dee
Move version bumping code to shell script to combine bump-dev-number-…
juliannguyen4 May 1, 2026
955b948
Properly implement dry run
juliannguyen4 May 1, 2026
9c52536
Add more input validation
juliannguyen4 May 1, 2026
5f28c32
Can delete multiple local tags with one command
juliannguyen4 May 1, 2026
b49e73d
No longer using this composite action
juliannguyen4 May 1, 2026
9b3a426
WIP on updating stage tests
juliannguyen4 May 1, 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
35 changes: 28 additions & 7 deletions .github/actions/get-artifact-for-stage-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,24 @@ inputs:
description: 'If getting wheel, what CPU arch is it built for? Must be the same in wheel name / cibw build identifier used to build wheel (e.g possible value: x86_64)'
# Secrets
JFROG_PLATFORM_URL:
required: false
JFROG_ACCESS_TOKEN:
description: For downloading the release bundle
required: false
# Variables
JFROG_REPO_NAME:
JFROG_PROJECT:
required: false
description: For downloading the release bundle
JFROG_RELEASE_BUNDLE_NAME:
required: false
description: For downloading the release bundle
JFROG_BUILD_NAME:
required: false
description: For downloading the release bundle
OIDC_PROVIDER_NAME:
required: false
description: For downloading the release bundle
OIDC_AUDIENCE:
required: false
description: For downloading the release bundle

runs:
using: 'composite'
Expand Down Expand Up @@ -70,13 +82,22 @@ runs:
# End codepath that downloads artifacts from Github
# Begin codepath that downloads from JFrog

- uses: step-security/setup-jfrog-cli@a6b41f8338bea0983ddff6bd4ede7d2dcd81e1fa # v4.8.1
if: ${{ inputs.get_from_jfrog == 'true' }}
- if: ${{ inputs.get_from_jfrog == 'true' }}
uses: step-security/setup-jfrog-cli@a6b41f8338bea0983ddff6bd4ede7d2dcd81e1fa # v4.8.1
env:
JF_URL: ${{ inputs.JFROG_PLATFORM_URL }}
JF_ACCESS_TOKEN: ${{ inputs.JFROG_ACCESS_TOKEN }}
JF_PROJECT: ${{ inputs.JFROG_PROJECT }}
with:
oidc-provider-name: ${{ inputs.OIDC_PROVIDER_NAME }}
oidc-audience: ${{ inputs.OIDC_AUDIENCE }}

- 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 versions ${{ inputs.JFROG_RELEASE_BUNDLE_NAME }} | 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 --fail-no-op --build ${{ inputs.JFROG_BUILD_NAME }}/$build_number "${{ inputs.JFROG_PROJECT }}-pypi-dev-local/**/$ARTIFACT_FILE_NAME_PATTERN" | jq -r '.[0].path')
jf rt dl --fail-no-op --flat $artifact_path
shell: bash
13 changes: 0 additions & 13 deletions .github/actions/update-version/action.yml

This file was deleted.

1 change: 0 additions & 1 deletion .github/workflows/build-and-run-stage-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ jobs:
uses: ./.github/workflows/build-wheels.yml
with:
platform-tag: ${{ matrix.platform-tag }}
sha-to-build-and-test: ${{ github.sha }}
secrets: inherit

build-sdist:
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/build-and-upload-wheels-for-qe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ jobs:
with:
platform-tag: ${{ matrix.platform-tag }}
unoptimized: ${{ github.event_name == 'workflow_dispatch' && inputs.disable-optimizations || false }}
sha-to-build-and-test: ${{ github.sha }}
secrets: inherit

upload-to-jfrog:
Expand Down
10 changes: 0 additions & 10 deletions .github/workflows/build-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,6 @@ on:
type: boolean
default: true
required: false
# This input is only used in workflow_call events
sha-to-build-and-test:
description: A calling workflow may want to run this workflow on a different ref than the calling workflow's ref
type: string
# Make it required to make things simple
required: true
# A calling workflow doesn't actually set values to the inputs below
# But that workflow needs to have default values for these inputs
unoptimized:
Expand Down Expand Up @@ -100,8 +94,6 @@ on:
jobs:
build-sdist:
uses: ./.github/workflows/build-sdist.yml
with:
sha_to_build: ${{ inputs.is_workflow_call == true && inputs.sha-to-build-and-test || github.sha }}

build-wheels:
strategy:
Expand All @@ -117,8 +109,6 @@ jobs:
uses: ./.github/workflows/build-wheels.yml
with:
platform-tag: ${{ matrix.platform-tag }}
# Can't use env context here, so just copy from build-sdist env var
sha-to-build-and-test: ${{ inputs.is_workflow_call == true && inputs.sha-to-build-and-test || github.sha }}
unoptimized: ${{ inputs.unoptimized }}
include-debug-info-for-macos: ${{ inputs.include-debug-info-for-macos }}
registry-name: ${{ inputs.registry-name }}
Expand Down
Loading
Loading