Skip to content

refactor: migrate CI workflows to self-hosted runners with ephemeral …#133

Merged
gowthamrao merged 2 commits into
developfrom
20260427_heztner_cicd_support
Apr 29, 2026
Merged

refactor: migrate CI workflows to self-hosted runners with ephemeral …#133
gowthamrao merged 2 commits into
developfrom
20260427_heztner_cicd_support

Conversation

@dk-uppi-aks
Copy link
Copy Markdown
Contributor

…environment isolation and workspace cleanup

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Comment thread .github/workflows/ci.yml

name: CI

on:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Empty Trigger Block

  • Error: The on: block is empty. This workflow will never trigger.
  • Fix: Define the triggers (e.g., push: branches: [main, develop] and pull_request:).

Comment thread .github/workflows/ci.yml

jobs:
lint-and-audit:
runs-on: ubuntu-latest
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate runs-on Keys

  • Error: The lint-and-audit, security-sast, and reproducible-builds jobs contain duplicate runs-on keys (ubuntu-latest immediately followed by [self-hosted, hetzner, x64]).
  • Fix: Remove all instances of runs-on: ubuntu-latest.

Comment thread .github/workflows/ci.yml
run: uv run deptry src/
shell: bash

- name: Docs Link Validation
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Empty with Block

  • Error: In the Docs Link Validation step, the with: key is completely empty.
  • Fix: Remove the with: key entirely, or restore the missing args: payload.

Comment thread .github/workflows/ci.yml
if: always() && needs.lint-and-audit.result == 'success' && needs.security-sast.result == 'success'
strategy:
fail-fast: false
matrix:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conflicting Matrix and Execution Substrate

  • Error: The test job defines a cross-platform matrix (ubuntu-latest, windows-latest, macos-latest) but immediately hardcodes the execution to runs-on: [self-hosted, hetzner, x64]. The matrix will execute 3 concurrent jobs on the exact same Linux Hetzner nodes, rendering the OS matrix useless and wasting compute.
  • Fix: Delete the matrix: os: array and runs-on: ${{ matrix.os }}. Keep only runs-on: [self-hosted, hetzner, x64].

Comment thread .github/workflows/ci.yml

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fatal YAML Syntax Error (Empty with)

  • Error: The Install uv step has an empty with: block immediately followed by the next array element (- name: Set up Python). This breaks YAML parsing.
  • Fix: Restore the missing configuration (e.g., enable-cache: true) or delete the with: key.

Comment thread .github/workflows/ci.yml
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
with:
python-version: ${{ matrix.python-version }}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate Dictionary Keys

  • Error: python-version is defined twice in the same block (${{ matrix.python-version }} and "3.14-dev").
  • Fix: Remove python-version: ${{ matrix.python-version }}.

Comment thread .github/workflows/ci.yml
sudo chown -R $(whoami):$(whoami) ${{ github.workspace }}
shell: bash

reproducible-builds:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe Merge Corruption (Fatal Error)

  • Error: The Set up Python step inside the reproducible-builds job has been destroyed by a bad copy/paste. A bash script fragment (fi and echo) is pasted directly into the with: block. Furthermore, the entire "Build wheel" and "Verify deterministic build" steps are completely missing.
  • Fix: Delete lines 235-237. Restore the correct Python version configuration, and rewrite the missing sequential bash steps for building and hashing the wheels.

@gowthamrao gowthamrao merged commit 5efa2e2 into develop Apr 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants