Skip to content

No way to tell what code is in the daily snapshot #14363

Description

@dfandrich

I did this

Until PR #14331, the daily snapshot contained the file CHANGES that contained the git log of the code in the tar ball. Since that has been removed, there is no longer any way to tell what code is in the daily snapshot. The date itself lets you make an approximate guess, but it can't get you closer than about 7 commits (on average).

I expected the following

There should be a way to tell exactly which commit the snapshot represents to replace CHANGES. Some possibilities:

  • A file "commit.txt" containing the git hash. This probably isn't realistic for the official release tarballs because of the same reason log2changes was removed (the code might come from the tar ball itself, not git). But, it's reasonable to have in the daily snapshots.
  • A git tag for each snapshot build. While this would work, it doesn't help users who just download the tarball or don't have git and want to track the code. It will also bloat the number of tags by more than 50×.
  • An external mapping of snapshot date and commit number. A JSON file or API hosted on the curl.se site would make this data available to those interested, although it's not nearly as convenient as having it in the snapshot itself.

This is an issue for Test Clutch, since there is now no way to associate test results from a snapshot build to the code that generated those results.

curl/libcurl version

8.10.0-DEV (commit 8a9c227)

operating system

OS independent

Activity

  1. bagder commented on Aug 3, 2024

    @bagder
    Member

    Would adding the short HEAD commit hash to the filename work?

    Like : curl-8.10.0-20240803-b6089c35d.tar.bz2 ?

  2. dfandrich commented on Aug 3, 2024

    @dfandrich
    ContributorAuthor
  3. bagder commented on Aug 3, 2024

    @bagder
    Member

    but it means that the daily snapshot name is no longer predictable

    The latest snapshot is not truly predictable now either since there is no telling exactly when there is a new snapshot to download - which has shown the times where the daily snapshot builds have failed . That's why we offer the NEWEST comments. But I see what you mean.

    The autocurl script at https://curl.se/dev/howto.html would break

    Hm, yes right. I suppose that approach might still be used...

  4. bagder commented on Aug 3, 2024

    @bagder
    Member

    How about this. A generated docs/snapshot-commit.txt file with the latest commit hash?

    $ tar xOf curl-8.9.11.tar.xz curl-8.9.11/docs/snapshot-commit.txt
    acbc6b703
    

    I'll make a PR with the necessary changes and then we can make the snapshots done using this option. It does break the reproducibility, but we would only use this for daily snapshots and not for actual releases.

  5. dfandrich commented on Aug 3, 2024

    @dfandrich
    ContributorAuthor
  6. added a commit that references this issue on Aug 4, 2024
    0a94578
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions