-
Notifications
You must be signed in to change notification settings - Fork 132
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
Improve the experience with GitHub's tar.gz source archives #1646
Comments
Thanks for filing this. The easiest quick solution is just to have a better error message explaining the need to use a git repository, and not the tarball. git init might work, but only if there were no attempt to git pull, since there wont be any remote. If it were possible to get the github built tarball to include the .git folder, all might be well, but I don't know if that's possible. |
Yeah, I think Removing the unnecessary-seeming dependency on a Another thing we should do is actually provide the tarball output of
|
The experience for 3.1 and 2.1 will be different here, since 2.1 is still using submodules which won't be in the archive. |
Yes please. dotnet/sdk#11795 (comment) |
You are actually able to do this yourself: you can run Bit more info here: |
@dagood, I'm not running a build, I'm only fetching source and performing a compile and install. I don't have CI/CD tooling available, as I'm operating within the confines of a Homebrew formula. I'm able to point to a Of course, I can write whatever Ruby code I want to orchestrate the universe, but that goes sharply against Homebrew's architecture and will most likely just end up with the formula pull request being rejected. It feels like a very small change to your CI/CD pipeline to make the result of |
Understood, thanks for expanding on that. And FWIW I can understand the underlying problem that producing and hosting a tar.gz yourself and feeding it into Homebrew (rather than using some artifact directly provided by this repo) seems like it'd be rejected as well for provenance reasons. (If it's even possible to feed it in that way.)
We actually don't have CI/CD for GitHub Releases. We have automation for some things, but nothing's published in a way that we could link it in each GitHub Release page. But, this is the purpose of those issues I linked to--to make this possible. I don't think these are hard things, but we're significantly pressed for time, and getting to a better and more sustainable place with source-build infra (in particular for 5.0) as well as continuing to service 2.1 and 3.1 are currently the highest priorities (vs. implementing new infra on existing servicing release trains to help new distro maintainers). |
I'm going to give this a quick try. It would be trivial if possible, and it has essentially zero chance of adverse side effects because when |
Indeed.
I have no idea how to set this up with AzDO, but with GitHub Actions, this is just 10 lines of YAML. I would have submitted a pull request if you would consider sprinkling some GitHub Actions on top of your existing AzDO pipeline.
That would be awesome. I'll be the first one to test and let you know how it works out. 👍 |
We won't accept GitHub Actions, but the uploading itself is pretty easy on AzDO too. There's a deeper problem though: we build internally for many servicing releases (e.g. if they have security fixes) so we need to have some new CI thing that pulls artifacts from private -> public storage, or rebuild the entire release but with a flag set to publish those artifacts to public storage. Rebuilding is the easy path here for dev time but wastes CI machines. (There could also potentially be problems with nondeterminism, but we're inflicting that on everyone whether they build from a In any case... nothing insurmountable but someone needs to spend some time on it.
I posted a PR at #1695, seems to work locally although I've only let it run as far as corefx so far. I included links to zip/tar.gz with the workaround included. 😄 |
#1695 with the |
GitHub prominently displays tar.gz files of source code in various places:
But they fail to build!
Instead, you need to actually have a git clone and check out the commit to build.
We should try to improve this experience. Options:
Disable these links. (I haven't seen a way.)
Make the GitHub-provided source archive work. May involve fixes to Arcade scripts.
Detect the situation and give actionable instructions to fix the problem.
Detect the situation and fix it up with a workaround. (Maybe it's enough to
git init
, even without any source-build repo data?)The text was updated successfully, but these errors were encountered: