cdepillabout / password

datatypes and functions for easily working with passwords in Haskell
http://hackage.haskell.org/package/password
55 stars 16 forks source link

Setup github actions instead of travis-ci #33

Closed cdepillabout closed 3 years ago

cdepillabout commented 3 years ago

This PR gets rid of our travis-ci CI checks, and replaces them with GitHub Actions.

I've switched a couple of my other personal repositories over to GitHub Actions, and everything seems to workout pretty well.

As for documentation, other than the generic GitHub Actions documentation, the main source of documentation is the Haskell-related Action: https://github.com/actions/setup-haskell

cdepillabout commented 3 years ago

@Vlix Oh, and the GHC versions to test with were picked relatively arbitrarily, so if you'd like to remove 8.4.4 or add something like 8.2.2, please feel free to make that change.

Vlix commented 3 years ago

Looks pretty good, had some comments. Is there anywhere we can check that it works? With Travis, it'd have the handy indications above the [Merge] button of a PR like this one. Do the GitHub actions need to be initiated first? Or do you just have to go to a specific URL to see it?

cdepillabout commented 3 years ago

@Vlix

Is there anywhere we can check that it works?

At the bottom of the screen, if you click on Show all checks, you should get a list of the checks that have passed:

image

After clicking:

image

It seems like the github UI doesn't necessarily do a good job of calling this out when all the tests are actually passing.

At the top of the screen there is also a Checks tab:

image

cdepillabout commented 3 years ago

@Vlix Thanks for fixing this up!

I disabled the ghc-8.2.2 build because of the persistent thing. However, if you do really want this, let me know and we can send a PR to persistent to fix their version ranges.

Personally, I don't think it is a big deal if we don't build on ghc-8.2.2. I think other maintainers generally try to support 3 GHC versions, so as long as we're testing on 8.6, 8.8, and 8.10, I think we're doing a pretty good job.

cdepillabout commented 3 years ago

Also, I'm kind of surprised that stack build --resolver lts-11 --stack-yaml ./stack-lts-14.yaml works correctly, but it is convenient for us that it does!

cdepillabout commented 3 years ago

@Vlix I think this should be ready for a final review and possibly a merge.

Vlix commented 3 years ago

I disabled the ghc-8.2.2 build because of the persistent thing. However, if you do really want this, let me know and we can send a PR to persistent to fix their version ranges.

I've already created an issue asking if it's intentional that 2.11 doesn't build on 8.2, and it isn't (they also switched to GitHub Actions) so I'll probably try and add 8.2.2 to their CI at some point as well and fix whatever's breaking it. Don't see why we shouldn't add 8.2.2 afterwards, though I do agree that if any library dropped support for 8.2 and caused password to not build, I'd be fine with dropping 8.2 as well.

Also, I'm kind of surprised that stack build --resolver lts-11 --stack-yaml ./stack-lts-14.yaml works correctly, but it is convenient for us that it does!

Well, the --resolver flag just overrides the resolver field, and the extra-deps stay the same, so... 👍


I'll take a fresh look tomorrow and merge then.

cdepillabout commented 3 years ago

That sounds good to me, thanks!

cdepillabout commented 3 years ago

Ah, sorry, I didn't actually mean to merge this!

Well, everything was passing, so hopefully this won't negatively effect anything.

Please feel free to take a look at this and let me know if there is anything else that needs to be fixed up. I can either just revert the merge commit, or just send another PR updating whatever needs to be updated.

Vlix commented 3 years ago

The only thing I can think of is maybe adding GHC HEAD to the cabal builds, but it's not too important to not merge this, so I consider this repo switched to GitHub Actions succesfully 👍