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

Remove the custom Cargo configuration #149

Merged
merged 7 commits into from
Oct 8, 2024

Conversation

mcdonnnj
Copy link
Member

🗣 Description

This pull request removes the custom Cargo configuration we added to this image.

Note

This pull request is built on top of #147.

💭 Motivation and context

The custom Cargo configuration was originally added to get around issues observed when trying to install the cryptography Python package on some 32-bit platforms. Since we have switched to a newer version of Alpine Linux as the base OS we also gained access to newer versions of the Rust toolchain. These newer versions both add support for the sparse registry protocol and make it the default for access to the default crates.io registry which resolves #38. Since the image builds successfully without the custom configuration I believe we can also consider #32 closed.

🧪 Testing

This branch has the same issue with timing out as both #146 and #147.

✅ Pre-approval checklist

  • This PR has an informative and human-readable title.
  • Changes are limited to a single goal - eschew scope creep!
  • All relevant type-of-change labels have been added.
  • I have read the CONTRIBUTING document.
  • These code changes follow cisagov code standards.
  • All new and existing tests pass.

@mcdonnnj mcdonnnj added improvement This issue or pull request will add or improve functionality, maintainability, or ease of use docker Pull requests that update Docker code labels Aug 29, 2024
@mcdonnnj mcdonnnj self-assigned this Aug 29, 2024
@mcdonnnj mcdonnnj requested a review from a team August 29, 2024 18:42
This includes updating all of the system packages installed to the
versions available for Alpine Linux 3.20.
This updates the `build-stage` to match the versions of Python and
Alpine Linux used in the `compile-stage`. This also includes updating
the versions of all system packages installed.
Bump the Python packages installed in the `compile-stage` as follows:
- pip from 23.1.2 to 24.2
- pipenv from 2023.10.20 to 2024.1.0
- setuptools from 67.7.2 to 75.1.0
- wheel from 0.40.0 to 0.44.0
Update the version of Python declared in the Pipfile and update the
dependencies installed in the Python virtual environment by running
`pipenv lock` in the `src/` directory.
Alpine Linux 3.20 configures Python 3 as externally managed, so we need
to pass this flag to `pip` to install a Python package directly. Since we
are using this to build a Python virtual environment in the
`compile-stage` that is moved to the `build-stage` for use in the final
image this should pose no issues.
We need some changes that were added in the LLNL/scraper repo but do
not yet have a PyPI release. Rather than continue to use a fork in our
GitHub organization it makes sense to pull in LLNL/scraper at a
specific commit until a new version is release to PyPI.
In the move from Alpine Linux 3.17 to 3.18 we also moved from Cargo
1.64.0 to 1.71.1. This takes us past 1.68, which introduced sparse
registries, and 1.70, which made `sparse` the default protocol to use
with crates.io (the default registry). This resolves #38, and based on
testing it also resolves #32.
@mcdonnnj mcdonnnj force-pushed the improvement/remove_custom_cargo_configuration branch from 19dcaeb to 323eb6c Compare October 7, 2024 20:56
@mcdonnnj mcdonnnj merged commit 5660a90 into develop Oct 8, 2024
16 of 17 checks passed
@mcdonnnj mcdonnnj deleted the improvement/remove_custom_cargo_configuration branch October 8, 2024 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docker Pull requests that update Docker code improvement This issue or pull request will add or improve functionality, maintainability, or ease of use
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Configure cargo to use the sparse protocol for registry access
4 participants