Baseset releases should have metadata made available to reproduce builds
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2
- Forks
- 4
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 10
Description
After https://github.com/OpenTTD/actions/pull/96 no source bundles are created or uploaded any more.
With that, distributions such as Debian and Fedora, that have requirements to build packages from source, no longer have a convenient way to rebuild a baseset from source.
There are a few methods to work around this:
-
Use the git repo directly
At least for me as the Fedora maintainer of OpenGFX this adds a few steps I have to perform for each release, as builds happen offline and I can't clone the git repo in the build system.
I have a few options:- Ship my own copy of the repo contents and add git to my BuildRequires.
- Ship a script in the package source repo that needs to be run before rolling a new release: clone the repo, run a build to generate
.ottdrev, then download the official release to extractopengfx-8.0.check.md5fromopengfx.obg. Put these files in the package source repo and commit them.
-
Ship
.ottdrevandopengfx-8.0.check.md5as release artifacts
Either inside the binary release or as separate files to the release.
Saves me the script from 1 (ii) above. I could download these from the release artifacts and commit them to package source.
For OpenGFX specifically (I haven't check OpenGFX2) we could also think about changing the way the Makefile receives its version information. It could be added that the required information can be parsed from the obg of the original release and that then being provided raw with the release artifacts.
Let me know your thoughts.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the workflow changes from actions/pull/96 and the release artifact configuration, then review the OpenGFX Makefile and the .ottdrev, opengfx-8.0.check.md5, and .obg files mentioned in the issue. Determine which metadata must be published for offline source rebuilds and define completion as distributions being able to retrieve it from a release without cloning the repository.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, github-actions
- Domain
- build-system, devops, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100