Skip to content

refactor(ci): ci-pipeline entkoppeln und dependency-canary erweitern#103

Merged
tomtastisch merged 9 commits intomainfrom
codex/refactor/ci-python-separation-canary
Feb 19, 2026
Merged

refactor(ci): ci-pipeline entkoppeln und dependency-canary erweitern#103
tomtastisch merged 9 commits intomainfrom
codex/refactor/ci-python-separation-canary

Conversation

@tomtastisch
Copy link
Owner

@tomtastisch tomtastisch commented Feb 19, 2026

Ziel & Scope

Diese PR reduziert CI-Redundanzen, trennt Bash/Python-Strukturen fuer bessere Wartbarkeit und erweitert den Canary-Mechanismus auf mehrere risikoreiche Dependencies. Zusaetzlich wird der Canary-Nachweis als Audit-Evidence verlinkt.

Umgesetzte Aufgaben (abhaken)

  • Qodana-Workflow auf wiederverwendbaren Kernworkflow konsolidiert (_qodana-contract.yml) und qodana.yml darauf umgestellt.
  • Dependency-Canary auf mehrere Pakete erweitert (SharpCompress, Microsoft.IO.RecyclableMemoryStream, System.Text.Json) inkl. zentraler Konfiguration.
  • Python-Logik aus Inline-Heredocs in dedizierte .py-Dateien ausgelagert (CI/Versioning/Release/BDD-Report).
  • Canary-Evidence in Audit-Dokumentation verlinkt (DE/EN).
  • SharpCompress-Compat-Contract-Tests ergaenzt.

Nachbesserungen aus Review (iterativ)

  • actionlint-Fehler in dependency-canary.yml (ungueltiger matrix-Kontext in Job-if) behoben.
  • inkonsistente Zwischenfassung von resolve_workflow_run_release_meta.sh korrigiert und syntaktisch abgesichert.
  • finaler Sweep: keine verbleibenden Inline-Python-Bloecke in tools/ci, tools/versioning und tools/test-bdd-readable.sh.

Security- und Merge-Gates

  • Actions bleiben SHA-gepinnt; neue Workflows verwenden nur gepinnte Actions.
  • Least-Privilege bleibt erhalten (Top-Level contents: read, erhtehte Rechte nur job-lokal falls notwendig).
  • Keine Secret-Werte werden geloggt; Secret-Zugriffe bleiben fail-closed.
  • Pflichtaussage: security/code-scanning/tools muss vor Merge auf 0 offene Alerts stehen.

Evidence (auditierbar)

  • actionlint -color -> erfolgreich
  • python3 tools/check-doc-consistency.py -> Doc consistency check OK
  • python3 tools/check-doc-shell-compat.py -> Doc shell compatibility check OK
  • python3 -m py_compile ... fuer alle neuen Python-Helfer -> erfolgreich
  • bash -n ... fuer geaenderte Shellskripte -> erfolgreich
  • dotnet test tests/FileTypeDetectionLib.Tests/FileTypeDetectionLib.Tests.csproj --filter "ArchiveSharpCompressCompatUnitTests|SharpCompressArchiveBackendUnitTests|ArchiveInternalsNestedBranchUnitTests|CoreAndArchiveInternalsFailClosedUnitTests|ArchiveStreamEngineUnitTests|ArchiveManagedBackendUnitTests|ArchiveProcessingFacadeUnitTests|FileMaterializerUnitTests|FileTypeOptionsFacadeUnitTests|FileTypeDetectorAdditionalUnitTests|FileTypeDetectorPrivateBranchUnitTests|FixtureManifestCatalogUnitTests" -v minimal -> 109 passed
  • bash -euo pipefail tools/ci/bin/dependency-canary.sh SharpCompress 0.46.2 -> 35 passed
  • bash -euo pipefail tools/ci/bin/dependency-canary.sh Microsoft.IO.RecyclableMemoryStream 3.0.1 -> 25 passed
  • bash -euo pipefail tools/ci/bin/dependency-canary.sh System.Text.Json 10.0.3 -> 54 passed

DoD (mindestens 2 pro Punkt)

Umgesetzter Punkt DoD A (auditierbar) DoD B (auditierbar)
Qodana-Konsolidierung qodana.yml nutzt nur noch uses: ./.github/workflows/_qodana-contract.yml actionlint erfolgreich mit neuem Reuse-Workflow
Multi-Dependency-Canary dependency-canary.yml startet getrennte Jobs fuer 3 Dependencies tools/ci/bin/dependency-canary.sh <dep> <version> laeuft fuer alle 3 Dependencies gruen
Bash/Python-Trennung Inline-Python in tools/ci und tools/versioning entfernt (rg-Sweep) Neue dedizierte Python-Helfer sind per py_compile valide
Audit-Evidence-Verlinkung docs/audit/009_SUPPLY_CHAIN_BASELINE.MD enthaelt E5-Canary-Nachweis + Workflow-Link docs/audit/109_SUPPLY_CHAIN_BASELINE.MD enthaelt spiegelgleichen E5-Nachweis
SharpCompress-Guardrail Neuer Test ArchiveSharpCompressCompatUnitTests.cs vorhanden Fokustestlauf zeigt gruenen Nachweis fuer SharpCompress-Pfade

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 32b2e8715a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 19 out of 30 changed files in this pull request and generated 1 comment.

@tomtastisch tomtastisch merged commit 9a67a42 into main Feb 19, 2026
26 checks passed
@tomtastisch tomtastisch deleted the codex/refactor/ci-python-separation-canary branch February 19, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:docs area:pipeline impl:config refactor Refactoring without behavior change versioning:patch Fix/Refactor/Docs/CI/Tooling; requires PATCH bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments