-
Couldn't load subscription status.
- Fork 11
⚠️ CONFLICT! Lineage pull request for: skeleton #104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
cisagovbot
wants to merge
434
commits into
develop
Choose a base branch
from
lineage/skeleton
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…s_from_v3_to_v4 Bump `actions/download-artifact` and `actions/upload-artifact` from v3 to v4
…script Replace the `bump_version.sh` script
⚠️ CONFLICT! Lineage pull request for: skeleton
There is no reason to have any information but the version in the version tracking file for Docker image projects. The current format is simply an artifact of mirroring things over from the cisagov/skeleton-python-library project.
We were previously getting the version in three different tests. It makes more sense to turn getting the project version into a fixture and to use that fixture anywhere the project version is needed.
…format Change the format of the version tracking file
This helps ensure that when a Docker image is built the expacted source image is used regardless of what repository is configured as the default on the host system. It also makes our Dockerfiles more seamlessly convertible to using the GitHub Container Registry or any other Open Container Initiative (OCI) compatible registry.
Instead of downloading the source archive, extracting it, and then installing it with pip we instead just let pip directly install the package.
Use the full tag that includes the Alpine Linux version to ensure the pulled image is always the same.
Since we are now installing cisagov/skeleton-python-library directly with pip we no longer need these OS packages.
Use the full path for source container images
We should not blindly upgrade all pre-installed packages. This can create inconsistent build results due to changes in installed versions.
Now that we are not overwriting the internal Python package file the text we look for must match what is output by default. The Docker Compose secret configuration is left in place to continue to serve as an example and to be leveraged for a future update to cisagov/skeleton-python-library that can provide similar functionality to what was removed in this project.
Pin the versions of the pip, setuptools, and wheel packages that are installed.
…hon-library_directly Install cisagov/skeleton-python-library directly with `pip`
Instead of relying on `pip3` being on the PATH we instead call the module through the Python executable. This ensures that the `pip` being used is in the same environment as the `python3` being used.
We can move this instruction to the end of the Dockerfile now that we are no longer working with files in the Docker container when building.
Using a virtual environment is a Python best practice. We also consolidate all of the Python dependency installation steps into a single RUN instruction. This ensures that Python setup is cached in one layer and mirrors the logical organization of this being a single step.
…eatable Pin Python package versions and improve build repeatability
This configuration includes a Pipfile configuration file and the generated Pipfile.lock file that pins to specific versions for the Python dependencies for this project. This will help us ensure repeatable builds. The pipenv package is added as a developmental requirement to support these files.
Since we cannot use long options on Alpine Linux we should explain what the short options we are using do. I also changed the order of options so that they are in alphabetical order. Co-authored-by: Shane Frasier <[email protected]>
Now that we have a pipenv configuration we will use it to install the Python dependencies for the image. The `build` workflow is updated to no longer pass the VERSION build argument in line with this change.
Use a Python virtual environment
Switch to using a multi-stage build in the Dockerfile. This reduces image size since pipenv and its dependencices are not needed in the final image. It also ensures that the system Python environment is unmodified.
Install the core Python packages (pip, setuptools, and wheel) into the system Python environment before installing pipenv. This keeps things consistent with our usual approach to Python environments.
The comment references a command that is no longer being run. Co-authored-by: Shane Frasier <[email protected]>
Co-authored-by: dav3r <[email protected]>
Change the tags used in the table to match the version of the project. Previously "1.2.3" was used as an example version but there is no reason not to use the real version of the image.
…tion Install Python dependencies with `pipenv`
The base Docker image we use does not support this hardware platform.
ca73ac7 to
ccf0f11
Compare
These changes get rid of some errors from our black pre-commit linter.
Such code is not conducive to repeatable builds.
This is unnecessary now that we use a multi-stage build.
c40e38a to
19af055
Compare
|
FYI, there is currently no fix for the |
The GitHub runners run out of disk space when building for all these platforms, so we comment out a few of the less common ones: arm/v6 and s390x.
8bc8a5c to
a50700e
Compare
This is further described in #105.
It takes too bloody long to build wheels for these platforms, and we are not currently using them.
jsf9k
approved these changes
Oct 28, 2025
dav3r
approved these changes
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 👍
This facilitates reproducible builds.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
dependencies
Pull requests that update a dependency file
docker
Pull requests that update Docker code
documentation
This issue or pull request improves or adds to documentation
github-actions
Pull requests that update GitHub Actions code
python
Pull requests that update Python code
test
This issue or pull request adds or otherwise modifies test code
upstream update
This issue or pull request pulls in upstream updates
version bump
This issue or pull request increments the version number
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Lineage Pull Request: CONFLICT
Lineage has created this pull request to incorporate new changes found in an
upstream repository:
Upstream repository:
https://github.com/cisagov/skeleton-docker.gitRemote branch:
HEADCheck the changes in this pull request to ensure they won't cause issues with
your project.
The
lineage/skeletonbranch has one or more unresolved merge conflictsthat you must resolve before merging this pull request!
How to resolve the conflicts
Take ownership of this pull request by removing any other assignees.
Clone the repository locally, and reapply the merge:
Review the changes displayed by the
statuscommand. Fix any conflicts andpossibly incorrect auto-merges.
After resolving each of the conflicts,
addyour changes to thebranch,
commit, andpushyour changes:Note that you may append to the default merge commit message
that git creates for you, but please do not delete the existing
content. It provides useful information about the merge that is
being performed.
Wait for all the automated tests to pass.
Confirm each item in the "Pre-approval checklist" below.
Remove any of the checklist items that do not apply.
Ensure every remaining checkbox has been checked.
Mark this draft pull request "Ready for review".
✅ Pre-approval checklist
✅ Pre-merge checklist
bump_version.shscript if this repository is versioned and the changes in this PR warrant a version bump.✅ Post-merge checklist
Note
You are seeing this because one of this repository's maintainers has
configured Lineage to open pull requests.
For more information:
🛠 Lineage configurations for this project are stored in
.github/lineage.yml📚 Read more about Lineage