Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
Sichere ProgrammierungWe Built a CLI to Find Out If You’re Overpaying for Claude(24.09.2026 um 04:35 Uhr)
Sichere ProgrammierungMy own sandbox was killing my agent's shell, and the exit code hid it(24.09.2026 um 04:38 Uhr)
Sichere ProgrammierungHow three OSLabs engineers built a CLI to catch you overpaying Claude(24.09.2026 um 04:45 Uhr)
Sichere ProgrammierungBreaking CI Guards on Purpose to Prove They Can Fail(24.09.2026 um 05:00 Uhr)
IT Security NachrichtenLangfristige Updatefähigkeit als Pflicht(24.09.2026 um 05:03 Uhr)
Sichere ProgrammierungWe Built a CLI to Find Out If You’re Overpaying for Claude(24.09.2026 um 04:35 Uhr)
Sichere ProgrammierungMy own sandbox was killing my agent's shell, and the exit code hid it(24.09.2026 um 04:38 Uhr)
Sichere ProgrammierungHow three OSLabs engineers built a CLI to catch you overpaying Claude(24.09.2026 um 04:45 Uhr)
Sichere ProgrammierungBreaking CI Guards on Purpose to Prove They Can Fail(24.09.2026 um 05:00 Uhr)
IT Security NachrichtenLangfristige Updatefähigkeit als Pflicht(24.09.2026 um 05:03 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

How I built a CI/CD pipeline with E2E tests via TestPyPI

When building an open-source library that integrates with multiple LLM providers (OpenAI, Anthropic, Google), reliability matters. Users expect upgrades to be safe and predictable. This post describes the CI/CD setup I use for…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

When building an open-source library that integrates with multiple LLM providers (OpenAI, Anthropic, Google), reliability matters. Users expect upgrades to be safe and predictable.



This post describes the CI/CD setup I use for llm-api-adapter. The key idea is simple: test not only the code, but the actual published package.









The Strategy: two pipelines, three stages



I use a dual-pipeline setup aligned with GitHub Flow:





  • Dev pipeline — runs on every push to dev. Its job is early feedback and validating the distribution process.


  • Main pipeline — runs on main and version tags. Its job is stable, repeatable releases to PyPI.



Most CI setups stop at unit or integration tests. This one goes further by validating the artifact installed from TestPyPI.









1. Dev pipeline: pre-flight validation



The dev workflow is where most of the safety guarantees come from.






Stage A: Unit & Integration tests




  • Executed with pytest

  • Tests are separated via markers (unit, integration)

  • Fast feedback on logic and provider integration






Stage B: publish to TestPyPI



After tests pass, the package is built and published to TestPyPI.



This step catches issues that tests alone cannot:




  • Incorrect pyproject.toml

  • Missing files in the source distribution

  • Broken dependency declarations






Stage C: E2E tests from TestPyPI



This is the critical part of the pipeline.



The job:




  1. Waits for TestPyPI to index the new release

  2. Installs the package from TestPyPI, not from source

  3. Pulls dependencies from the real PyPI

  4. Runs real end-to-end tests using live API keys




pip install --index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple \
llm-api-adapter






At this point, the CI environment matches what users will experience after pip install.









2. Main pipeline: controlled release



Once the package is validated in dev, changes move to main.






What runs on main




  • Full unit + integration test suite on every PR

  • No publishing on pushes






What triggers a release




  • A version tag (vX.Y.Z)

  • Build and publish to PyPI

  • Credentials handled via GitHub Secrets



By the time a tag is pushed, the same artifact has already passed E2E tests via TestPyPI.









Why this setup works



Before publishing to PyPI, I know that:




  • The code behaves correctly (unit + integration tests)

  • The package is installable from a registry (TestPyPI)

  • External LLM providers respond as expected (E2E tests)



Most importantly, this approach prevents broken versions from ever being published to PyPI.









Conclusion



If your library depends on external APIs, testing only the source code is not enough.



Testing the published artifact is what makes releases predictable and safe.



The full setup is fully public and reproducible:



👉 Repository:


https://github.com/Inozem/llm_api_adapter



👉 GitHub Actions workflows:


https://github.com/Inozem/llm_api_adapter/tree/main/.github/workflows









Question for you



How do you usually set up CI for your open-source projects?

CTI Threat Relationship Graph2 Knoten / 1 Relationen
CVE / Incident Software MITRE ATT&CK CWE Weakness IoC
SOC Incident Playbook: Remote Code Execution (RCE) Defense
title: Detect Exploitation - How I built a CI/CD pipeline with E2E tests via TestPyPI
id: e5bcdeae-7bf5-4439-a926-2777333cfb26
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-24
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-24"
        description = "YARA Signature for "
    strings:
        $str = "How I built a CI/CD pipeline w" ascii wide
    condition:
        any of them
}
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Kognitive Analyse für identifizierte Bedrohung: Erhöhte Bedrohungslage im Bereich How I built a CI/CD pipeline with E2E te.... Basierend auf 368k Vektor-Korrelationen werden sofortige Isolationsmaßnahmen für betroffene Endpunkte empfohlen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
🔗 Semantisch verwandte Zero-Days MariaDB 11.7 VEC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten How I built a CI/CD pipeline with E2E tests via TestPyPI

Thematisch verwandte Begriffe: built, CICD, pipeline, with · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-96676 | A vulnerability was identified in Fast FAC1900R 20190827_2.0.2. The impa…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel TTP ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick