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

chore(deps): atlantis-base: Update gosu and git-lfs #2889

Merged
merged 7 commits into from
Dec 29, 2022

Conversation

Teko012
Copy link
Contributor

@Teko012 Teko012 commented Dec 29, 2022

what

  • Updates gosu, git-lfs to the latest version, along with curl, bash in alpine, and the debian base image.

why

  • gosu and git-lfs contains many CVEs, and haven't been update in a while. The other changes are more house keeping to keep them up to date as well.

references

@Teko012 Teko012 requested a review from a team as a code owner December 29, 2022 14:43
@nitrocode nitrocode changed the title docker: Update base image components docker: Update base image gosu and git-lfs Dec 29, 2022
@nitrocode nitrocode changed the title docker: Update base image gosu and git-lfs chore(deps): atlantis-base: Update gosu and git-lfs Dec 29, 2022
@nitrocode nitrocode added this to the 0.22.0 milestone Dec 29, 2022
@nitrocode nitrocode added the dependencies PRs that update a dependency file label Dec 29, 2022
@nitrocode nitrocode marked this pull request as draft December 29, 2022 14:58
@nitrocode
Copy link
Member

nitrocode commented Dec 29, 2022

Hi @Teko012. Thank you for the PR. Please build both the alpine and debian bases locally to ensure they work. After those build successfully then please change this PR to ready-to-review.

The reason why the image is failing is because we pin dependencies to specific versions to keep the image repeatable. However, the package repos will update packages to smaller versions and remove previous versions which cause the base to fail.

We may want to use semver tilde ranges e.g. package~=version instead of package=version-suffix format.

Ref

In the future, it would be good to add these images to be managed by renovatebot so I created a separate ticket for it #2890.

@Teko012 Teko012 marked this pull request as ready for review December 29, 2022 15:23
@Teko012
Copy link
Contributor Author

Teko012 commented Dec 29, 2022

Hey @nitrocode, sorry about that, I actually checked all the alpine packages, but I managed to miss the r2-r3 change. It should be fixed now. git-lfs also changed how they package their archives, but it should be fixed as well.

Copy link
Member

@nitrocode nitrocode left a comment

Choose a reason for hiding this comment

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

Thank you @Teko012 for your contribution!

@nitrocode nitrocode merged commit a55bd2c into runatlantis:main Dec 29, 2022
@Teko012 Teko012 deleted the docker/bump-versions branch December 29, 2022 15:39
@nitrocode
Copy link
Member

nitrocode commented Dec 29, 2022

@Teko012 seems like after the base was built and we built our new atlantis image based on the new base (#2892), our e2e tests are now failing.

https://github.com/runatlantis/atlantis/runs/10354247221
https://app.circleci.com/pipelines/github/runatlantis/atlantis/3582/workflows/151fa56e-60d4-4f3c-9c80-17b4bba57e89/jobs/13297

{"level":"error","ts":"2022-12-29T18:33:32.310Z","caller":"events/instrumented_project_command_runner.go:78","msg":"Failure running plan operation: This project is currently locked by an unapplied plan from pull #4462. To continue, delete the lock from #4462 or apply that plan and merge the pull request.\n\nOnce the lock is released, comment atlantis plan here to re-plan.","json":{"repo":"runatlantis/atlantis-tests","pull":"4463"}

Stack trace

github.com/runatlantis/atlantis/server/events.RunAndEmitStats
	/home/circleci/project/server/events/instrumented_project_command_runner.go:78
github.com/runatlantis/atlantis/server/events.(*InstrumentedProjectCommandRunner).Plan
	/home/circleci/project/server/events/instrumented_project_command_runner.go:37
github.com/runatlantis/atlantis/server/events.runProjectCmds
	/home/circleci/project/server/events/project_command_pool_executor.go:48
github.com/runatlantis/atlantis/server/events.(*PlanCommandRunner).runAutoplan
	/home/circleci/project/server/events/plan_command_runner.go:127
github.com/runatlantis/atlantis/server/events.(*PlanCommandRunner).Run
	/home/circleci/project/server/events/plan_command_runner.go:249
github.com/runatlantis/atlantis/server/events.(*DefaultCommandRunner).RunAutoplanCommand
	/home/circleci/project/server/events/command_runner.go:174

I reran the tests here

https://github.com/runatlantis/atlantis/runs/10354526807
https://circleci.com/gh/runatlantis/atlantis/13301?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-checks-link&utm_content=summary

Edit: odd, the second run worked.

@Teko012
Copy link
Contributor Author

Teko012 commented Dec 29, 2022

@nitrocode I see two commits almost at the same, time, I'm not sure how tests are setup, but is it possible it is some kind of race condition in the https://github.com/runatlantis/atlantis-tests repo? Maybe the tests share some common resources?

@Teko012
Copy link
Contributor Author

Teko012 commented Dec 29, 2022

@nitrocode Both runs passed now, and based on the error message This project is currently locked by an unapplied plan from pull #4462 it might worth to look into if it shares one tfstate or something similar that survives every run.

@nitrocode
Copy link
Member

Yep, seems like a race condition when running multiple e2e tests. Thank you. All resolved now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies PRs that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants