Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
8a6cc82
Add C++ YMQ Tests (#263)
magniloquency Oct 2, 2025
6b02ea3
Fix publish with missing shell entry (#270)
sharpener6 Oct 2, 2025
cbbb14b
Move Object Storage Server Tests to (#269)
magniloquency Oct 2, 2025
8d43774
Use pypa gh action to publish (#271)
sharpener6 Oct 2, 2025
f9a6b14
Passing secrets to reusable actions (#272)
sharpener6 Oct 2, 2025
4e33a5a
Remove username and password (#278)
sharpener6 Oct 3, 2025
f7746e8
Switch to github action to publish to pypi (#279)
sharpener6 Oct 3, 2025
c640e11
Try login to github (#280)
sharpener6 Oct 3, 2025
61428e4
Move publish-artifact to top level (#283)
sharpener6 Oct 3, 2025
0203eca
Disable pypy and specify image version (#284)
sharpener6 Oct 4, 2025
7f7f481
Make Pub-Sub Test More Reliable (#285)
magniloquency Oct 6, 2025
ecf7be7
Cluster worker init script support via --preload (#234)
e117649 Oct 6, 2025
1c1e5eb
Add YMQ MITM Tests
magniloquency Oct 6, 2025
1a7a49d
Change protocol to abstract class
magniloquency Oct 2, 2025
fcc6a9b
Remove usage of importlib
magniloquency Oct 2, 2025
acc8d03
Update action
magniloquency Oct 6, 2025
3d86ed3
Lint
magniloquency Oct 2, 2025
25eebd5
Remove old code
magniloquency Oct 2, 2025
92c221f
Fix reconnect test
magniloquency Oct 3, 2025
fdba484
Update tests/cpp/ymq/py_mitm/main.py
magniloquency Oct 3, 2025
cac44c8
YMQ OSS Client (#291)
magniloquency Oct 7, 2025
52ab5d8
Merge branch 'main' into ymq-mitm-tests
magniloquency Oct 7, 2025
4c02a32
Remove Old Test File (#292)
magniloquency Oct 7, 2025
a779f10
Merge branch 'main' into ymq-mitm-tests
magniloquency Oct 7, 2025
3513f9e
Move C++ tests into run-test action
magniloquency Oct 7, 2025
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
30 changes: 30 additions & 0 deletions .github/actions/3rd-party-libraries-compile/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "3rd Party Libraries Compile"
description: "3rd Party Libraries Compile"

inputs:
os:
description: "operating system"
required: true

runs:
using: "composite"
steps:
- name: Cache Library Compile
uses: actions/cache@v4
id: compiled-libraries
with:
path: |
capnproto-*
key: compiled-libraries-${{ inputs.os }}-${{ hashFiles('scripts/library_tool.*') }}

- name: Compile Libraries (Linux)
shell: bash
if: (inputs.os == 'Linux') && (steps.compiled-libraries.outputs.cache-hit != 'true')
run: |
./scripts/library_tool.sh capnp compile

- name: Compile Libraries (Windows)
shell: pwsh
if: (inputs.os == 'Windows') && (steps.compiled-libraries.outputs.cache-hit != 'true')
run: |
./scripts/library_tool.ps1 capnp compile
30 changes: 30 additions & 0 deletions .github/actions/3rd-party-libraries-download/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "3rd Party Libraries Download"
description: "3rd Party Libraries Download"

inputs:
os:
description: "operating system"
required: true

runs:
using: "composite"
steps:
- name: Cache Library Download
uses: actions/cache@v4
id: download-libraries
with:
path: |
downloaded
key: download-libraries-${{ inputs.os }}-${{ hashFiles('scripts/library_tool.*') }}

- name: Download Libraries (Linux)
shell: bash
if: (inputs.os == 'Linux') && (steps.download-libraries.outputs.cache-hit != 'true')
run: |
./scripts/library_tool.sh capnp download

- name: Download Libraries (Windows)
shell: pwsh
if: (inputs.os == 'Windows') && (steps.download-libraries.outputs.cache-hit != 'true')
run: |
./scripts/library_tool.ps1 capnp download
22 changes: 22 additions & 0 deletions .github/actions/3rd-party-libraries-install/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: "3rd Party Libraries Install"
description: "3rd Party Libraries Install"

inputs:
os:
description: "operating system"
required: true

runs:
using: "composite"
steps:
- name: Install Libraries (Linux)
shell: bash
if: inputs.os == 'Linux'
run: |
sudo ./scripts/library_tool.sh capnp install

- name: Install Libraries (Windows)
shell: pwsh
if: inputs.os == 'Windows'
run: |
./scripts/library_tool.ps1 capnp install
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: 'Build Wheel'
description: 'Build wheel'
name: 'Compile Libraries'
description: 'Compile Libraries'

inputs:
os:
Expand All @@ -9,7 +9,7 @@ inputs:
runs:
using: "composite"
steps:
- name: Build and test C++ Components (Linux)
- name: Build C++ Components (Linux)
if: inputs.os == 'Linux'
shell: bash
run: |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: publish-pypi
description: publish-pypi
name: create-artifacts
description: Build Artifacts

inputs:
os:
Expand All @@ -26,16 +26,3 @@ runs:
if: inputs.os == 'Linux'
shell: bash
run: python -m cibuildwheel --output-dir dist
env:
CIBW_BEFORE_ALL_LINUX: |
echo "Building deps"
yum install -y sudo;
sudo ./scripts/download_install_libraries.sh capnp compile
sudo ./scripts/download_install_libraries.sh capnp install
CIBW_BUILD: "*manylinux_x86_64"
CIBW_SKIP: "pp* cp39-*"
CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28"

- name: Publish to PyPI
run: |
twine upload -r scaler -u "$PYPI_USERNAME" -p "$PYPI_PASSWORD" dist/*
10 changes: 10 additions & 0 deletions .github/actions/run-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,16 @@ inputs:
runs:
using: "composite"
steps:
- name: Install dependencies for MITM tests
if: inputs.os == 'Linux'
shell: bash
run: uv pip install --system scapy==2.*

- name: Run C++ Tests (Linux)
if: inputs.os == 'Linux'
shell: bash
run: sudo ./scripts/test.sh

# TODO: build wheel first, then run the test
- name: Run Unittests
shell: bash
Expand Down
35 changes: 1 addition & 34 deletions .github/actions/setup-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,44 +20,11 @@ runs:
run: |
sudo apt update -y
sudo apt install -y build-essential tzdata cmake clang curl pkg-config g++-14
sudo chmod 755 ./scripts/download_install_libraries.sh
sudo chmod 755 ./scripts/library_tool.sh
sudo chmod 755 ./scripts/build.sh

- name: Install Python Base Packages
shell: bash
run: |
pip install uv
uv pip install --system --upgrade pip

- name: Cache Library Install
if: inputs.os == 'Linux'
id: cache-library
uses: actions/cache@v4
with:
path: |
capnproto-*
key: ${{ inputs.os }}-${{ hashFiles('scripts/download_install_libraries.*') }}

- name: Download/Compile Libraries (Linux)
shell: bash
if: (inputs.os == 'Linux') && (steps.cache-library.outputs.cache-hit != 'true')
run: |
sudo ./scripts/download_install_libraries.sh capnp compile

- name: Download/Compile Libraries (Windows)
shell: pwsh
if: (inputs.os == 'Windows') && (steps.cache-boost-windows.outputs.cache-hit != 'true')
run: |
./scripts/download_install_libraries.ps1 capnp compile

- name: Install Libraries (Linux)
shell: bash
if: inputs.os == 'Linux'
run: |
sudo ./scripts/download_install_libraries.sh capnp install

- name: Install Libraries (Windows)
shell: pwsh
if: inputs.os == 'Windows'
run: |
./scripts/download_install_libraries.ps1 capnp install
14 changes: 13 additions & 1 deletion .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,19 @@ jobs:
with:
os: ${{ runner.os }}

- uses: ./.github/actions/compile-library
- uses: ./.github/actions/3rd-party-libraries-download
with:
os: ${{ runner.os }}

- uses: ./.github/actions/3rd-party-libraries-compile
with:
os: ${{ runner.os }}

- uses: ./.github/actions/3rd-party-libraries-install
with:
os: ${{ runner.os }}

- uses: ./.github/actions/compile-libraries
with:
os: ${{ runner.os }}

Expand Down
12 changes: 10 additions & 2 deletions .github/workflows/publish-artifact.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ jobs:
permissions:
id-token: write
steps:
# - uses: ./.github/actions/checkout
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
Expand All @@ -31,6 +30,15 @@ jobs:
with:
os: ${{ runner.os }}

- uses: ./.github/actions/publish-pypi
- uses: ./.github/actions/3rd-party-libraries-download
with:
os: ${{ runner.os }}

- uses: ./.github/actions/create-artifacts
with:
os: ${{ runner.os }}

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: ./dist/
Loading