-
-
Notifications
You must be signed in to change notification settings - Fork 613
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
Add nightly build on Github Actions #12491
Conversation
202004f
to
a175781
Compare
8fd68da
to
420af4d
Compare
Any idea if godbolt also would be updated? |
The current implementation only uploads nightlys to the release page. Future work could either adapt those tools to use GitHub or push the nightlies to dlang.org. See #12150 |
879f59a
to
07c815f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some thoughts / hints
.github/workflows/nightlies.yml
Outdated
# Rebuild on merges to master | ||
push: | ||
branches: | ||
- master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if this is the best trigger. The workflow could also be a "real" nightly build to automatically include changes to druntime/phobos even when there are no changes to DMD. It also would save a lot of CI time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Switched to a daily build at 00:00 UTC
rpm \ | ||
rsync \ | ||
unzip \ | ||
xz-utils |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of those should already be included in the base image, but I've kept them just to be sure.
|
||
# Determine installed LDC version | ||
LDC=$(ldc2 --version | head -n 1 | cut -d'(' -f2 | cut -d')' -f1) | ||
echo "::set-output name=host_ldc::$LDC" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This automatically updates the host compiler with every LDC release.
# | ||
- name: Create the nightly release | ||
# Currently disabled due to missing permissions | ||
if: ${{ false }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't work due to missing permissions because the PR was issued from a fork. Could probably be enabled by another PR from an upstream branch.
See the generated artifacts for a preview of the actual releases
58822fe
to
fbb5776
Compare
fbb5776
to
fc79654
Compare
Thanks for your pull request and interest in making D better, @MoonlightSentinel! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + dmd#12491" |
Creates a new action that generates a new release for all currently supported targets (linux, osx, windows, freebsd) on merges to master. The release are generated by using `build_all.d` from installer
458d330
to
c5f715c
Compare
Dlang Bot is AWOL again? |
@CyberShadow is migrating the bot, so it will probably be offline a bit. I assume the auto-merge label does not work. Is it problematic if I manually merge this? |
Thanks for the info.
No. How do we enable the final step which creates the github release? I couldn't test that step due to insufficient permissions (because this PR originates from a fork). |
I also don't have sufficient permissions.
Go for it. |
I don't think I've yet to do anything which would cause downtime, so that issue would be unrelated. |
I noticed two issues which I think are caused by the way these nightlies are being made available:
@MoonlightSentinel Would it be possible to use a different approach to this that would not have these issues? The approach used by LDC may be better. Instead of creating a new release every time, instead they update an existing release. We also use a small server-side script to allow finding download URLs for the latest release binaries programmatically. |
|
I'm sorry for the inconvinience caused by the current implementation. Updating the attached assets should be possible by switching to a different action. I'll have a look.
Note that |
Creates a new action that generates a new release for all currently
supported targets (linux, osx, windows, freebsd) on merges to master.
The release are generated by using
build_all.d
from installerWIP because it contains theon: pull-request
trigger for testing purposesDepends on build_all.d: Add platform selection via command line installer#480Another PR to deal with GitHub's unreliable API: build_all.d: Use git ls-remote as a fallback in getDubTag installer#481