fix: resolve three pre-existing CI failures#2
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request focuses on enhancing the stability and reliability of the continuous integration pipeline by addressing several pre-existing failures. It streamlines the build process by ignoring specific cache directories, formalizes container build standards within the project's constitution, and corrects issues with container scanning tools, ultimately contributing to a more robust and predictable development environment. Highlights
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
There was a problem hiding this comment.
Code Review
This pull request updates the project's constitution document, incrementing its version to 1.2.0. It introduces a new section detailing Containerfile Conventions, specifically outlining the multi-stage Hummingbird FIPS build process. Additionally, it updates the .gitignore file to include .gourmand-cache/. A review comment suggests an improvement to the new Containerfile Conventions, recommending that base images should be pinned to specific version tags instead of using latest to ensure reproducible builds.
| 1. **Builder stage** (`quay.io/hummingbird/python:latest-fips-builder`) — has shell, dnf, build tools. Creates a Python venv and installs all dependencies. | ||
| 2. **Runtime stage** (`quay.io/hummingbird/python:latest-fips`) — distroless, no shell, no package manager. The venv is copied from the builder. No `RUN` commands in this stage. |
There was a problem hiding this comment.
Using the latest tag for base images is discouraged as it can lead to non-reproducible builds. When the latest tag is updated, your builds might fail or behave differently without any changes to your Containerfile. It is a best practice to pin base images to a specific version tag or a digest to ensure build stability and predictability.
For example:
1. **Builder stage** (`quay.io/hummingbird/python:1.2.3-fips-builder`)
2. **Runtime stage** (`quay.io/hummingbird/python:1.2.3-fips`)
Could you please update this convention (and the corresponding Containerfile) to use specific version tags instead of latest?
1. Gourmand CI: switch from cargo install to container image, add .gourmand-cache/ to .gitignore 2. Constitution: add missing Section III (Containerfile Conventions), renumber sections to match parent profile (I-IX) 3. Container Security Scan: use docker build on GHA runners so Trivy can find the image 4. Gourmand violations: remove verbose comments, rename generic vars, extract magic numbers to constants, add C901 + pylint thresholds, fix type: ignore, clean up exceptions file (40 → 0 violations) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
f459270 to
b08edab
Compare
Summary
.gourmand-cache/to.gitignoreand switch gourmand CI to container image (was building from source via cargo)docker buildinstead ofpodman buildon GHA runnersContext
All three failures pre-date the Hummingbird distroless changes. They were present on main before PR #1.
Test plan
🤖 Generated with Claude Code