-
Notifications
You must be signed in to change notification settings - Fork 80
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
Docker layer caching #5882
base: main
Are you sure you want to change the base?
Docker layer caching #5882
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
1 Skipped Deployment
|
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.
Some nits and questions - but overall this seems like a slam dunk
@@ -21,7 +21,8 @@ Changes can also be flagged with a GitHub label for tracking purposes. The URL o | |||
|
|||
## [Unreleased](https://github.com/ethyca/fides/compare/2.57.0...main) | |||
|
|||
|
|||
### Developer experience | |||
- Adding Docker layer caching for the backend check's build step [#5882](https://github.com/ethyca/fides/pull/5882) |
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.
nit: let's start nudging our CHANGELOG entries to be more clear. We should be able to write some cursor rules to help with that too 👍.
I think GitLab's thoughts on this are pretty good: https://docs.gitlab.com/development/changelog/#writing-good-changelog-entries
In general I'd say the CHANGELOG should look like: <what was improved> + <how> + <when (if relevant)>
So in your case I'd do this:
- Adding Docker layer caching for the backend check's build step [#5882](https://github.com/ethyca/fides/pull/5882) | |
- Improved CI build times for backed checks by adding Docker layer caching to GHA workflow [5882](https://github.com/ethyca/fides/pull/5882) |
# Install Python Dependencies | ||
|
||
COPY dev-requirements.txt . | ||
RUN pip install --user -U pip --no-cache-dir -r dev-requirements.txt | ||
|
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.
You sure about this one?
|
||
COPY dev-requirements.txt . | ||
RUN pip install --user -U pip --no-cache-dir -r dev-requirements.txt | ||
|
||
# Activate a Python venv | ||
RUN python3 -m venv /opt/fides | ||
ENV PATH="/opt/fides/bin:${PATH}" | ||
|
||
# Install Python Dependencies | ||
RUN pip --no-cache-dir --disable-pip-version-check install --upgrade pip setuptools wheel |
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.
Since we're optimizing, you should be able to include this in the pip install - requirements.txt
below too, right?
- name: Cache Docker layers | ||
uses: actions/cache@v3 | ||
with: | ||
path: /tmp/.buildx-cache${{ matrix.python_version == '3.9.18' && '-py39' || '' }} |
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.
If there are concurrent GHA jobs both running at the same time, is this cache shared between them? In other words, could this lead to strange situations where code from one PR gets into another one?
Or is this caching strictly tied to the particular workflow run
Closes []
Description Of Changes
Write some things here about the changes and any potential caveats
Code Changes
Steps to Confirm
Pre-Merge Checklist
CHANGELOG.md
updatedmain
downgrade()
migration is correct and works