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

Lockfiles (like .melange.lock) #27

Open
kpcyrd opened this issue Apr 17, 2022 · 2 comments
Open

Lockfiles (like .melange.lock) #27

kpcyrd opened this issue Apr 17, 2022 · 2 comments
Milestone

Comments

@kpcyrd
Copy link

kpcyrd commented Apr 17, 2022

hi!

It would be cool to have lockfiles like .melange.lock that work similar to Cargo.lock.

With a configuration like this:

environment:
  contents:
    repositories:
      - https://dl-cdn.alpinelinux.org/alpine/edge/main
      - https://dl-cdn.alpinelinux.org/alpine/edge/community
    packages:
      - alpine-baselayout-data
      - busybox
      - make
      - go
      - git
      - ca-certificates-bundle

The lockfile would contain the resolved versions for make, go, git, etc and help achieve reproduce builds even if one of the packages was updated in alpine in the meantime.

The file could be generated with a command like melange update and toml would probably be a good fit since it works well in git diff and has good machine readability.

@kaniini
Copy link
Contributor

kaniini commented Apr 18, 2022

I have a different plan for this, where you run a command and it generates a local repo containing the packages used. You could then use this “lock repo” for this purpose. That way there are no ambiguities with the packages.

@kaniini kaniini added this to the v0.1 milestone May 9, 2022
@kaniini kaniini modified the milestones: v0.1, v0.2 Jun 1, 2022
@kaniini
Copy link
Contributor

kaniini commented Jun 1, 2022

Pushing to v0.2 because the prerequisites for lock repos won't land in apko until apko v0.5.

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

No branches or pull requests

2 participants