progit / progit2

Pro Git 2nd Edition
Other
5.79k stars 1.9k forks source link

Set up GitHub actions for CI and release builds #1667

Closed ben closed 3 years ago

ben commented 3 years ago

Changes

This sets up GitHub actions to be our book-build provider. Fixes #1566.

ben commented 3 years ago

@HonkingGoose how does this look? I'm afraid it's hard to test at this point without merging.

HonkingGoose commented 3 years ago

I'm afraid it's hard to test at this point without merging.

I agree, it's probably easiest to debug while running it for real, at least then you can see the output and tune things that are not working properly. 😄

You could copy/clone this repository into a new "throwaway/trial" repository, and run the actions on there?

HonkingGoose commented 3 years ago

I notice we have some differences between this PR, the progit2-test/master branch, ~and the progit2-test/ben-github-actions branch.~

Are you sure this PR contains all the parts you need? I saw you did something with the git fetch depth on the progit2-test/master branch for example.

HonkingGoose commented 3 years ago

@ben Might want to put Fixes #1566 in the top post, so that that issue gets closed when you merge this PR.

See issue: #1566.

HonkingGoose commented 3 years ago

By the way the .mobi files are not getting released properly on your test repo. Maybe there's a problem with the link to the file?

According to: https://github.com/ben/progit2-test/actions/runs/976418220

tag
Artifact pattern :./progit.mobi did not match any files
ben commented 3 years ago

.mobi files are not getting released properly

I think this is because kindlegen isn't there? I'm completely fried from driving all day and this 112° heat. I'll take another look in the morning.

Also, sadly, creating a tag with the API doesn't cause a push event, so I'll have to collapse the "tag on merge to master" and "create release on tag" jobs into one. Too bad.

HonkingGoose commented 3 years ago

I think this is because kindlegen isn't there? I'm completely fried from driving all day and this 112° heat. I'll take another look in the morning.

The asciidoctor-epub3 package "includes" Kindlegen by downloading it from someplace else, quote from latest release notes for the package (which we already merged):

Possibly even more exciting feature of this release is that Kindlegen is back! Even though Amazon dropped Kindlegen from its webservers, what was put on the Internets stays there forever. Thanks to The Wayback Machine that remembers (almost) everything, we can use it to download Kindlegen binaries.

https://github.com/progit/progit2/pull/1646#issuecomment-828968577

Maybe this download is not working properly on CI systems? Or could be caused by something else. 😄

ben commented 3 years ago

Boom, here's a release created by these actions. It doesn't include the .mobi, because it says it can't find kindlegen. Not really sure what's going on there.

ben commented 3 years ago

I'm tempted to merge this just so we can get releases flowing again, then follow up with a kindlegen fix and cleaning up our Travis mess.

HonkingGoose commented 3 years ago

I'm tempted to merge this just so we can get releases flowing again, then follow up with a kindlegen fix and cleaning up our Travis mess.

Sounds good!