-
Notifications
You must be signed in to change notification settings - Fork 87
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 Github action to build NONMATCHING rom #309
base: master
Are you sure you want to change the base?
Conversation
437cd6c
to
cf6888a
Compare
80d428c
to
200640d
Compare
if this isn't ready pls mark as draft |
fa61bf0
to
906e2c4
Compare
5b9d60e
to
effdc13
Compare
Should be ready for review now |
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.
I have several questions
also the required status check of build is not going to pass, given that you're removed it, so for merging we'll have to switch over what's required before it can be merged
if: | | ||
always() && | ||
(github.event_name == 'push') && | ||
contains(join(needs.*.result, ','), 'success') |
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.
????
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.
Safeguard to make sure this only runs if all the build-X
jobs succeed.
run: make -j${nproc} | ||
|
||
- name: Archive build artifacts | ||
if: ${{ always() && env.NONMATCHING == 0 }} |
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.
?????
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.
There was a step before called "Post error archive", which uploaded an archive of the build. If we still want that, we need always()
in case "Build ROM" fails.
The "Post-merge" step is a bit messier if you do it for nonmatching, so I just excluded it.
find . -maxdepth 2 -type d \( -name build -or -name files \) -exec tar -czvhf ${GAME_VERSION}_build.tar.gz {} + | ||
|
||
- name: Upload build artifacts | ||
if: ${{ always() && env.NONMATCHING == 0 }} |
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.
???????
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.
Same
|
||
- name: Build ROM | ||
env: | ||
GAME_VERSION: HEARTGOLD |
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 only builds non-matching HG? not SS?
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.
We can add SS -- it wouldn't cost any more time. But the cases where it adds coverage seemed pretty narrow.
I think you'd only get a build error if you don't define a SS-specific data variable. I could only find one in the game: ov74_0223C968
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.
please do add it, it could be useful to have I guess
|
||
- name: Webhook | ||
if: ${{ github.event_name == 'push' }} |
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 needed cause this requires push anyway, right??
did you test whether this works locally?
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 whole job is guarded now by (github.event_name == 'push')
.
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.
Yeah we'll have to change the PR policy before this can be merged
run: make -j${nproc} | ||
|
||
- name: Archive build artifacts | ||
if: ${{ always() && env.NONMATCHING == 0 }} |
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.
There was a step before called "Post error archive", which uploaded an archive of the build. If we still want that, we need always()
in case "Build ROM" fails.
The "Post-merge" step is a bit messier if you do it for nonmatching, so I just excluded it.
find . -maxdepth 2 -type d \( -name build -or -name files \) -exec tar -czvhf ${GAME_VERSION}_build.tar.gz {} + | ||
|
||
- name: Upload build artifacts | ||
if: ${{ always() && env.NONMATCHING == 0 }} |
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.
Same
|
||
- name: Build ROM | ||
env: | ||
GAME_VERSION: HEARTGOLD |
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.
We can add SS -- it wouldn't cost any more time. But the cases where it adds coverage seemed pretty narrow.
I think you'd only get a build error if you don't define a SS-specific data variable. I could only find one in the game: ov74_0223C968
if: | | ||
always() && | ||
(github.event_name == 'push') && | ||
contains(join(needs.*.result, ','), 'success') |
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.
Safeguard to make sure this only runs if all the build-X
jobs succeed.
|
||
- name: Webhook | ||
if: ${{ github.event_name == 'push' }} |
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 whole job is guarded now by (github.event_name == 'push')
.
Makes it harder to debug build errors
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.
lgtm, you clearly have a more thorough understanding of gh actions than the rest of us
if you're wondering why this hasn't been merged yet:
|
I'm still blocking waiting for non-matching SS btw |
I added non-matching Soul Silver. Is it possible to change the settings to merge this, or do I need to restore the |
Please resolve conflicts with 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.
this is fine (sorry didn't realise I was blocking it) but the conflicts need to be fixed
No description provided.