Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
e10456f
cloudcheck v8, wip
TheTechromancer Dec 8, 2025
7953c14
providers, first round
TheTechromancer Dec 8, 2025
aafbd5e
updated with org ids
TheTechromancer Dec 8, 2025
3b19156
fix network merge bug
TheTechromancer Dec 9, 2025
49c0fab
more wip
TheTechromancer Dec 9, 2025
0b5209b
update provider json
TheTechromancer Dec 9, 2025
0506cdc
basic rust tooling
TheTechromancer Dec 11, 2025
630c6bf
fmt
TheTechromancer Dec 11, 2025
2fcd5fa
clippy
TheTechromancer Dec 11, 2025
a578144
update pydantic
TheTechromancer Dec 11, 2025
e5b9ebd
file caching
TheTechromancer Dec 12, 2025
3f70a56
cloudcheck update
TheTechromancer Dec 12, 2025
8ebfd8c
workflows and things
TheTechromancer Dec 12, 2025
aa892d8
fmt
TheTechromancer Dec 12, 2025
7315d84
requests
TheTechromancer Dec 12, 2025
3d69f0b
more python tests
TheTechromancer Dec 12, 2025
c41b846
publishing
TheTechromancer Dec 12, 2025
34fece7
gitignore
TheTechromancer Dec 12, 2025
f428816
fix update cicd
TheTechromancer Dec 13, 2025
a2e4681
cloud_providers
TheTechromancer Dec 13, 2025
410f150
description
TheTechromancer Dec 13, 2025
dc50e6e
readme
TheTechromancer Dec 13, 2025
6a96ee7
update
TheTechromancer Dec 15, 2025
68ba432
update
TheTechromancer Dec 15, 2025
fb164dc
publish python test
TheTechromancer Dec 15, 2025
96a1e0a
publish go
TheTechromancer Dec 15, 2025
979066e
rustls?
TheTechromancer Dec 15, 2025
e3a0491
version bump
TheTechromancer Dec 15, 2025
573d36c
openssl
TheTechromancer Dec 15, 2025
796c7a5
openssl
TheTechromancer Dec 15, 2025
8828555
more tweaks
TheTechromancer Dec 15, 2025
17d1e07
vendored?
TheTechromancer Dec 15, 2025
f0636a5
version bump
TheTechromancer Dec 15, 2025
71a6459
not vendored
TheTechromancer Dec 15, 2025
8df801e
vendored
TheTechromancer Dec 15, 2025
4ef2627
perl? why?
TheTechromancer Dec 15, 2025
602947a
more perl?????
TheTechromancer Dec 15, 2025
71fd478
++
TheTechromancer Dec 15, 2025
677b518
binutils
TheTechromancer Dec 15, 2025
8e5b013
get wrecked
TheTechromancer Dec 15, 2025
a73f34c
radixtarget
TheTechromancer Dec 15, 2025
45d9675
radixtarget
TheTechromancer Dec 15, 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
5 changes: 0 additions & 5 deletions .flake8

This file was deleted.

7 changes: 6 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "pip"
- package-ecosystem: "uv"
directory: "/"
schedule:
interval: "weekly"
Expand Down
37 changes: 0 additions & 37 deletions .github/workflows/monitor.yml

This file was deleted.

29 changes: 29 additions & 0 deletions .github/workflows/pipeline-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Pipeline Tests

on:
push:
branches: [ master ]
pull_request:

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.x

- name: Set up uv
uses: astral-sh/setup-uv@v7

- name: Install dependencies
run: |
uv sync

- name: Run tests
run: |
uv run pytest cloudcheck_update/test_cloudcheck_update.py -v
258 changes: 258 additions & 0 deletions .github/workflows/python-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
name: Python Tests

on:
push:
branches:
- master
- cloudcheck-v8
pull_request:

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

- name: Set up uv
uses: astral-sh/setup-uv@v7

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: Install dependencies
run: |
uv sync

- name: Build Python bindings
run: |
uv run maturin develop --release --features pyo3

- name: Run Python tests
run: |
uv run pytest test_cloudcheck.py -v

publish:
runs-on: ubuntu-latest
needs: test
if: github.event_name == 'push' && github.ref == 'refs/heads/cloudcheck-v8'
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.x"
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
- name: Set up uv
uses: astral-sh/setup-uv@v7
- name: Build PyPi package
run: uv run maturin build --release --out dist
- name: Publish PyPi package
# TODO: Remove || true
run: uv run maturin publish --username __token__ --password ${{ secrets.PYPI_TOKEN }} || true

linux:
runs-on: ${{ matrix.platform.runner }}
needs: publish
if: github.event_name == 'push' && github.ref == 'refs/heads/cloudcheck-v8'
strategy:
matrix:
platform:
- runner: ubuntu-22.04
target: x86_64
- runner: ubuntu-22.04
target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
target: armv7
# get wrecked ibm
# - runner: ubuntu-22.04
# target: s390x
- runner: ubuntu-22.04
target: ppc64le
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: 3.x
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: false
manylinux: auto
before-script-linux: |
if command -v apt-get >/dev/null 2>&1; then
# Debian-based
sudo apt-get update
sudo apt-get install -y pkg-config libssl-dev perl make gcc g++ binutils
elif command -v yum >/dev/null 2>&1; then
# CentOS-based (manylinux images)
yum update -y
yum install -y openssl openssl-devel perl perl-core make gcc gcc-c++ binutils
else
echo "Error: Neither apt-get nor yum found"
exit 1
fi
- name: Upload wheels
uses: actions/upload-artifact@v5
with:
name: wheels-linux-${{ matrix.platform.target }}
path: dist

musllinux:
runs-on: ${{ matrix.platform.runner }}
needs: publish
if: github.event_name == 'push' && github.ref == 'refs/heads/cloudcheck-v8'
strategy:
matrix:
platform:
- runner: ubuntu-22.04
target: x86_64
- runner: ubuntu-22.04
target: x86
- runner: ubuntu-22.04
target: aarch64
- runner: ubuntu-22.04
target: armv7
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: 3.x
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: false
manylinux: musllinux_1_2
before-script-linux: |
if command -v apt-get >/dev/null 2>&1; then
# Debian-based
sudo apt-get update
sudo apt-get install -y pkg-config libssl-dev
elif command -v yum >/dev/null 2>&1; then
# CentOS-based
yum update -y
yum install -y openssl openssl-devel
else
echo "Error: Neither apt-get nor yum found"
exit 1
fi
- name: Upload wheels
uses: actions/upload-artifact@v5
with:
name: wheels-musllinux-${{ matrix.platform.target }}
path: dist

windows:
runs-on: ${{ matrix.platform.runner }}
needs: publish
if: github.event_name == 'push' && github.ref == 'refs/heads/cloudcheck-v8'
strategy:
matrix:
platform:
- runner: windows-latest
target: x64
- runner: windows-latest
target: x86
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: 3.x
architecture: ${{ matrix.platform.target }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: false
- name: Upload wheels
uses: actions/upload-artifact@v5
with:
name: wheels-windows-${{ matrix.platform.target }}
path: dist

macos:
runs-on: ${{ matrix.platform.runner }}
needs: publish
if: github.event_name == 'push' && github.ref == 'refs/heads/cloudcheck-v8'
strategy:
matrix:
platform:
- runner: macos-15-intel
target: x86_64
- runner: macos-latest
target: aarch64
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: 3.x
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: false
- name: Upload wheels
uses: actions/upload-artifact@v5
with:
name: wheels-macos-${{ matrix.platform.target }}
path: dist

sdist:
runs-on: ubuntu-latest
needs: publish
if: github.event_name == 'push' && github.ref == 'refs/heads/cloudcheck-v8'
steps:
- uses: actions/checkout@v6
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v5
with:
name: wheels-sdist
path: dist

release:
name: Release
runs-on: ubuntu-latest
needs: [linux, musllinux, windows, macos, sdist]
if: github.event_name == 'push' && github.ref == 'refs/heads/cloudcheck-v8'
permissions:
# Use to sign the release artifacts
id-token: write
# Used to upload release artifacts
contents: write
# Used to generate artifact attestation
attestations: write
steps:
- uses: actions/download-artifact@v6
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v3
with:
subject-path: 'wheels-*/*'
- name: Publish wheels to PyPI
uses: PyO3/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
with:
command: upload
args: --non-interactive --skip-existing wheels-*/*
50 changes: 50 additions & 0 deletions .github/workflows/rust-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Rust tests

on:
push:
branches: [ stable ]
pull_request:

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Check formatting
run: cargo fmt --all -- --check

- name: Run clippy
run: cargo clippy --all-targets --all-features -- -D warnings

- name: Run tests
run: cargo test --verbose --all-features

publish:
needs: test
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/stable'

steps:
- uses: actions/checkout@v6

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: Publish to crates.io
run: cargo publish --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
Loading