Skip to content
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

⚠️ CONFLICT! Lineage pull request for: skeleton #33

Open
wants to merge 272 commits into
base: develop
Choose a base branch
from

Conversation

cisagovbot
Copy link

@cisagovbot cisagovbot commented Dec 6, 2024

Lineage Pull Request: CONFLICT

Achtung!!!

Lineage has created this pull request to incorporate new changes found in an
upstream repository:

Upstream repository: https://github.com/cisagov/skeleton-docker.git
Remote branch: HEAD

Check the changes in this pull request to ensure they won't cause issues with
your project.

The lineage/skeleton branch has one or more unresolved merge conflicts
that you must resolve before merging this pull request!

How to resolve the conflicts

  1. Take ownership of this pull request by removing any other assignees.

  2. Clone the repository locally, and reapply the merge:

    git clone [email protected]:cisagov/guacscanner-docker.git guacscanner-docker
    cd guacscanner-docker
    git remote add skeleton https://github.com/cisagov/skeleton-docker.git
    git remote set-url --push skeleton no_push
    git switch develop
    git switch --create lineage/skeleton --track origin/develop
    git pull skeleton HEAD
    git status
  3. Review the changes displayed by the status command. Fix any conflicts and
    possibly incorrect auto-merges.

  4. After resolving each of the conflicts, add your changes to the
    branch, commit, and push your changes:

    git add .github/workflows/build.yml Dockerfile README.md docker-compose.yml src/version.txt tests/container_test.py 
    git commit
    git push --force --set-upstream origin lineage/skeleton

    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.

  5. Wait for all the automated tests to pass.

  6. Confirm each item in the "Pre-approval checklist" below.

  7. Remove any of the checklist items that do not apply.

  8. Ensure every remaining checkbox has been checked.

  9. Mark this draft pull request "Ready for review".

✅ Pre-approval checklist

Remove any of the following that do not apply. If you're unsure about
any of these, don't hesitate to ask. We're here to help!

  • ✌️ The conflicts in this pull request have been resolved.
  • All relevant type-of-change labels have been added.
  • All relevant repo and/or project documentation has been updated
    to reflect the changes in this PR.
  • Tests have been added and/or modified to cover the changes in this PR.
  • All new and existing tests pass.

✅ Post-merge checklist

Remove any of the following that do not apply.

  • Create a release.

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

michaelsaki and others added 30 commits January 23, 2024 08:04
`TODO` was placed on the wrong comment block. Also I am adding a link to the issue for the TODO.
This commit is introducing 2 new flags
into the setup-env script. -l or
--list-versions will list available
Python versions and allow the user to
select a version interactively. The second
flag -v or --version will allow a user
to set the version if installed.
(e.g. ./setup-env -v 3.9.6)
This makes the code a bit cleaner and still accomplishes the same functionality

Co-authored-by: Shane Frasier <[email protected]>
If the Python version exists then we want the script to continue
execution.
pyenv local is run below.
If PYTHON_VERSION is an empty string then the system Python will be used.
This commit makes a couple changes. The first
change is adding the BSD getopt tool to
simplify the parsing of flags and arguments.
Second, we are adding the -n flag so the user
can specify the name of the virtual environment
if they choose.
This commit will update the usage documentation
so now it will display all the new flags, how
to use them, and what they do. Since the
long option isn't available for the BSD version
of getopt we have to use short options only.
The force documentation has been updated to
reflect this change. Also removed some redundant
code that wasn't necessary.
This commit will make it so long options are
supported. It also includes some improved
error handling. It will display a message if
a Mac OS user doesn't have gnu-getopt installed
on their system and suggest steps to take to
get it installed via brew.
Co-authored-by: Shane Frasier <[email protected]>
This commit will clearly differentiate between GNU getopt the tool and gnu-getopt the Homebrew formula. Also updating the URL so that getopt points at the source repository and pyenv and pyenv-virtualenv point at their respective repositories. Updated the ending punctuation.

Co-authored-by: Nick <[email protected]>
This commit will remove the previous flags
-v or --version for -p or --python-version.
Also it will replace -n or --name for -v or
--venv-name. The usage menu has been updated
to reflect these changes as well.
Update to reflect the dependencies and Python version used for this
project.
Since we are now using pipenv to install Python dependencies the wget
package is no longer necessary.
On the linux/ppc64le and linux/s390x platforms the package version is
different from what is available on other platforms. Since we need to
match the version to the target platform we must use a bash if/else to
get the appropriate version for the platform.
I am having trouble building the image for arm64 due to a segmentation
fault when the libc-bin package runs it's post-isntallation script:
Processing triggers for libc-bin (2.31-13+deb11u4) ...
Segmentation fault (core dumped)
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
dpkg: error processing package libc-bin (--configure):
 installed libc-bin package post-installation script subprocess returned error exit status 139
Errors were encountered while processing:
 libc-bin
E: Sub-process /usr/bin/dpkg returned an error code (1)

I am hoping that switching to a newer version of Debian will resolve
this issue and since there is no 3.10.7 tag for Debian Bookworm I am
also bumping the patch version of Python used.
We moved from Python 3.10.7 to 3.10.16 so the configuration must be
updated accordingly.
@mcdonnnj mcdonnnj marked this pull request as ready for review February 14, 2025 22:36
@mcdonnnj mcdonnnj requested a review from a team February 14, 2025 22:36
Instead of comparing the project version and the version read from the
container log directly as strings it makes sense to parse them and
contextually compare them. This is important if you are comparing, for
example, a Python package version that should match the Docker image,
but the Docker image has a build identifier (ex: `1.0.0` and
`1.0.0+build.1`). The version should be considered equivalent in this
scenario if a project is properly following SemVer versioning.
…on_comparisons

Use the `semver` package to parse the log version in testing
Copy link
Member

@jsf9k jsf9k left a comment

Choose a reason for hiding this comment

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

Approval intensifies!!!

mcdonnnj and others added 5 commits February 19, 2025 17:39
Instead of overriding the context and file we can allow the Action to
fall back on its default behaviour of using the `git` context to pull
the source needed to build the image. This also allows us to remove the
actions/checkout Action from the `build` and `build-push-all` jobs.
This instructs prettier to ignore `*.lock` files since they are just
JSON files and will be formatted by the pretty-format-json hook.
…ld_jobs

Use `docker/build-push-action` default behavior
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change This issue or pull request involves changes to existing functionality dependencies Pull requests that update a dependency file docker Pull requests that update Docker code github-actions Pull requests that update GitHub Actions code improvement This issue or pull request will add or improve functionality, maintainability, or ease of use test This issue or pull request adds or otherwise modifies test code upstream update This issue or pull request pulls in upstream updates
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants