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: Make installers statically versioned #2517

Merged
merged 2 commits into from
Jan 26, 2023
Merged

Conversation

stumpylog
Copy link
Member

@stumpylog stumpylog commented Jan 25, 2023

Proposed change

This PR isolates the building of the main image from changes to the installers until an update or change is wanted. This has the following benefits:

  • An image will use a specific revision of the built installers for consistent building
  • Installers include the versions of all installed packages when the build happened
    • helping determine why it changed, hopefully
  • Caching should improve, as the installer image changes don't affect the main image anymore
  • Installer images can be refined without affecting the main image
  • Main image builds won't need to wait for installers (unless you're updating a version)

The flow isn't that much different than before.

  1. The image builds a binary something (.deb, .whl, .so, etc)
  2. The image lists out exactly what versions of what built the binary thing
  3. New final job copies the binary thing into named, versioned, sorted directories, along with package versions info
  4. The new job commits any changes to a special branch and pushes

The building of the main image changed a bit, but honestly not that much either.

  1. Versions are still provided via build arguments
  2. RUN step curls the repository at a given revision which exists only on the binaries branch
  3. the build binary items are installed or copied into location

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Other (please explain) - getting towards reproducible builds

Checklist:

  • I have read & agree with the contributing guidelines.
  • If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
  • If applicable, I have checked that all tests pass, see documentation.
  • I have run all pre-commit hooks, see documentation.
  • I have made corresponding changes to the documentation as needed.
  • I have checked my modifications for any breaking changes.

@paperless-ngx-secretary paperless-ngx-secretary bot added ci-cd non-trivial Requires approval by several team members labels Jan 25, 2023
@github-actions github-actions bot added the enhancement New feature label Jan 25, 2023
@coveralls
Copy link

coveralls commented Jan 25, 2023

Pull Request Test Coverage Report for Build 4016649303

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.03%) to 92.74%

Totals Coverage Status
Change from base Build 4012284681: 0.03%
Covered Lines: 5557
Relevant Lines: 5992

💛 - Coveralls

@stumpylog stumpylog force-pushed the feature-static-installers branch 2 times, most recently from ac0eb2b to 8d96b05 Compare January 25, 2023 23:29
@stumpylog stumpylog changed the title Chore: Make most installers statically versioned Chore: Make installers statically versioned Jan 26, 2023
@stumpylog stumpylog marked this pull request as ready for review January 26, 2023 15:49
@stumpylog stumpylog requested a review from a team as a code owner January 26, 2023 15:49
@stumpylog stumpylog removed the enhancement New feature label Jan 26, 2023
Copy link
Member

@shamoon shamoon left a comment

Choose a reason for hiding this comment

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

I cant provide meaningful feedback on the code but the motivation seems great and clearly I think we all have trust in your handling of the ci side so I see no issue in merging especially into dev. Again, unless of course you need more specific input

@stumpylog stumpylog merged commit 8fcb7ef into dev Jan 26, 2023
@stumpylog stumpylog deleted the feature-static-installers branch January 26, 2023 23:47
@github-actions
Copy link
Contributor

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
ci-cd non-trivial Requires approval by several team members
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

3 participants