Skip to content
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

feat: Setup github actions workflow to build tagged release and nightly pre-release #1676

Merged
merged 19 commits into from
May 31, 2021
Merged

feat: Setup github actions workflow to build tagged release and nightly pre-release #1676

merged 19 commits into from
May 31, 2021

Conversation

hassec
Copy link
Member

@hassec hassec commented May 20, 2021

The idea of the workflow right now is to simply build the required releases if a tag gets pushed to the repo.

Only a first draft to get some feedback.
You can see the result in my fork here
Being completely new to conan and also not having a windows machine to test, I'm still fighting to get the windows build to work.
Was hoping maybe @piponazo could take a quick look and see if you know an easy fix?

In any case, I think it's a nice idea to set it up this way, and we can add more to it, e.g.:

  1. The actual release can easily be created as well
  2. We could set up an action that automatically keeps tracks of PRs that are merged, and then uses this list for the releas notes
  3. soooo much more :D

Let me know what you guys think: 👍 ? or 👎
I'm happy to put some more time into this, if people think it's the way we should go

@codecov
Copy link

codecov bot commented May 20, 2021

Codecov Report

Merging #1676 (a90ebf8) into main (8dbc699) will increase coverage by 0.00%.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #1676   +/-   ##
=======================================
  Coverage   66.89%   66.90%           
=======================================
  Files         151      151           
  Lines       20747    20781   +34     
=======================================
+ Hits        13879    13903   +24     
- Misses       6868     6878   +10     
Impacted Files Coverage Δ
src/orfimage.cpp 44.59% <0.00%> (-2.85%) ⬇️
src/rw2image.cpp 43.90% <0.00%> (-2.61%) ⬇️
samples/addmoddel.cpp 88.67% <0.00%> (-1.52%) ⬇️
src/tags.cpp 50.98% <0.00%> (-1.44%) ⬇️
src/minoltamn_int.cpp 53.07% <0.00%> (-0.81%) ⬇️
src/tiffimage.cpp 83.47% <0.00%> (-0.56%) ⬇️
samples/Jzon.cpp 33.56% <0.00%> (-0.52%) ⬇️
src/exif.cpp 75.83% <0.00%> (-0.43%) ⬇️
src/makernote_int.cpp 79.11% <0.00%> (-0.43%) ⬇️
src/actions.cpp 72.32% <0.00%> (-0.23%) ⬇️
... and 36 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8dbc699...a90ebf8. Read the comment docs.

@piponazo
Copy link
Collaborator

Great to see this PR! 💪

For sure, I'll be happy to help with the windows case.

The idea to build the release-notes automatically is also very interesting. I just wonder if it could look back in the git history (between tag v1 and v2) or it would only work from the moment in which the new workflow is added into the main branch.

I have made few comments in the PR. Let me know what would be the best way to collaborate.

@hassec hassec added CI Issues related with CI jobs enhancement feature / functionality enhancements labels May 21, 2021
@hassec
Copy link
Member Author

hassec commented May 21, 2021

Thanks @piponazo

... I just wonder if it could look back in the git history ...

not sure, maybe as a one off we would have to do it manually/with a script first and then let it take it from there. Haven't looked to deep into this.

I have made few comments in the PR. Let me know what would be the best way to collaborate.

I'm not seeing any comments here yet...
But feel free to just push to this branch whatever improvements you have in mind 😉
(Or tell me to make them, whatever is easiest for you! )

.github/workflows/release.yml Outdated Show resolved Hide resolved
.github/workflows/release.yml Outdated Show resolved Hide resolved
.github/workflows/release.yml Show resolved Hide resolved
@hassec hassec requested a review from piponazo May 24, 2021 15:51
@hassec
Copy link
Member Author

hassec commented May 24, 2021

This is starting to look better 😃

Workflow now automatically creates the release and uploads the binaries to that release. see here for example
Right now the text is pretty minimal, and only points to doc/ChangeLog but we could change that.

Windows build is still only working without NLS. @piponazo do you think you could have a look at this?
If you don't have the time, it's not a problem either. I will just have to try and spin up a windows vm to debug this.

Copy link
Collaborator

@piponazo piponazo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really nice to see the creation of the releases automatically 👏

I want to give a try to the NLS stuff on windows, but I am not sure when I will have some spare time for that. Hopefully I can spend at least 1 hour in the next 2-3 days.

.github/workflows/release.yml Show resolved Hide resolved
piponazo
piponazo previously approved these changes May 25, 2021
@hassec hassec changed the title Draf: Setup github actions workflow to build releases feat: Setup github actions workflow to build tagged release and nightly pre-release May 29, 2021
@hassec hassec requested a review from piponazo May 29, 2021 12:03
@hassec
Copy link
Member Author

hassec commented May 29, 2021

@piponazo from my side this is ready. 🚀

Final results look like this now.

That is:

  • on push of tag we build a release
  • on manual dispatch & every night, we build a nightly pre-release

The nightly will hopefully make it easier for people to test the development version and provide feedback throughout the development cycle towards v1.0.

NLS in Windows still isn't fixed, but IMHO we could merge as-is, to get the nightly build etc running and add the NLS as soon as we know how to fix it. WDYT?

oh, and sidenote: fixing the ci's resulted in a lot of commits here 🙈
I've given the PR and appropriate title, so I think we should just squash and merge as single commit.

Copy link
Collaborator

@piponazo piponazo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, Thanks for your contribution!

@hassec hassec merged commit 024830a into Exiv2:main May 31, 2021
@piponazo piponazo added this to the v1.00 milestone Jun 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Issues related with CI jobs enhancement feature / functionality enhancements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants