Skip to content

Restore daily invalidation of Windows Dockerfile. #807

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

Merged
merged 1 commit into from
Apr 11, 2025

Conversation

nuclearsandwich
Copy link
Member

This was removed in #802 when removing the chef configuration but we do
this on Linux as well.

It makes sense to do this before configuring the pixi workspace if not
also doing before pixi installation.

In the chef configuration, due to the amount of time spent in
installation we did one chef provision before invalidation and then one
after it in the hope that unchanged things would stay unchanged and the
catchup run would not take as much time each day.

On linux we invalidate after initial configuration but before
dependency installation so we could move this up in the Windows
container if we want.

Also I renamed the sigil string from todays_date to today_str so
that the sigil we use on Linux and Windows match.

This was removed in #802 when removing the chef configuration but we do
this on Linux as well.

It makes sense to do this before configuring the pixi workspace if not
also doing before pixi installation.

In the chef configuration, due to the amount of time spent in
installation we did one chef provision before invalidation and then one
after it in the hope that unchanged things would stay unchanged and the
catchup run would not take as much time each day.

On linux we invalidate after initial configuration but before
dependency installation so we could move this up in the Windows
container if we want.

Also I renamed the sigil string from `todays_date` to `today_str` so
that the sigil we use on Linux and Windows match.
@nuclearsandwich
Copy link
Member Author

nuclearsandwich commented Mar 22, 2025

Test CI Windows Build Status
Test Packaging Windows Build Status

@clalancette
Copy link
Contributor

On linux we invalidate after initial configuration but before
dependency installation

This is only half true. On Ubuntu, we do indeed do the invalidation before we install most of the dependencies. On RHEL, we do the invalidation after the installation of basically everything; the only thing after this is the setup of the user, colcon, and the entry point. I think we should probably make all 3 consistent, and I would be for doing it before installing dependencies (so we get the latest). What do you think?

@cottsay
Copy link
Member

cottsay commented Apr 11, 2025

On RHEL, we do the invalidation after the installation of basically everything; the only thing after this is the setup of the user, colcon, and the entry point.

Eh, this is misleading. The invalidation is immediately followed by an update to all packages. We should never be more than 24hrs out-of-date in our RHEL containers.

@clalancette
Copy link
Contributor

Eh, this is misleading. The invalidation is immediately followed by an update to all packages. We should never be more than 24hrs out-of-date in our RHEL containers.

Yeah, I was just looking over the code again and noticing that.

In that case, then I'm fine with this as-is, though it might be nice for Docker cache purposes to make Ubuntu follow the same pattern as RHEL.

@nuclearsandwich nuclearsandwich merged commit 305d38e into master Apr 11, 2025
1 check passed
@nuclearsandwich nuclearsandwich deleted the windows-daily-invalidation branch April 11, 2025 17:26
@cottsay
Copy link
Member

cottsay commented Apr 11, 2025

@nuclearsandwich, have you deployed this change yet?

I see a change to the job config a few minutes ago, so it seems that it was deployed. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants