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.
This pull request includes changes to the
Dockerfile
to improve the setup and execution of the application. The most important changes include switching to usinguv
for dependency management and modifying the way the application is copied and installed.Improvements to Dockerfile setup:
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
to includeuv
in the image.RUN mkdir app
andCOPY . /app
withADD . /app
to simplify the copying process.RUN pip install --no-cache-dir /app
toRUN uv sync --frozen
to useuv
for installing dependencies.Improvements to application execution:
CMD
from["python", "/app/src/gha_runner/"]
to["uv", "run", "-m", "gha_runner"]
to run the application usinguv
.By default, the
pip
command remains accessible, but incorporating theuv.lock
ensures repeatability, particularly since the container is constructed with each execution of the action (for the time being). This has been verified locally through the creation of a Docker image on my personal computer. However, I intend to merge this change to facilitate testing. If the implementation proves unsuccessful, reverting this commit is acceptable.Should the implementation be successful, we can develop documentation outlining the modifications required to maintain the lockfile in sync with new releases.