OpenGreekAndLatin / csel-dev

Corpus Scriptorum Ecclesiasticorum Latinorum: a machine-corrected version of the public domain volumes of the monumental collection of Latin Church Fathers.
http://opengreekandlatin.github.io/csel-dev/
41 stars 18 forks source link

releases have stopped (here and elsewhere) #394

Open lcerrato opened 2 years ago

lcerrato commented 2 years ago

At some point over the past two months, releases stopped building. https://app.travis-ci.com/github/OpenGreekAndLatin/csel-dev/branches

The only release packages I see being created are those for https://github.com/OpenGreekAndLatin/First1KGreek

No releases are being built for https://github.com/PerseusDL/canonical-greekLit or https://github.com/PerseusDL/canonical-latinLit

This means that data in the Scaife Viewer is not up to date. I have tried to change parameters of repos to match First1KGreek in order to fix this issue. It doesn't make sense that it is a permissions issue when First1KGreek and csel-dev have identical setup/permissions.

We need to address this in order to keep current work going into the Scaife Viewer.

@gregorycrane @AlisonBabeu @ThomasK81 @jacobwegner

jacobwegner commented 2 years ago

@lcerrato I took a closer look at the Travis CI logs.

Last successful First1KGreek build:

image

It looks like this is authenticating as Thomas.

Last succesful csel-dev build:

image

This appears to be authenticating as Thibault.

The latest (failing) build for csel-dev:

image

This makes me think that csel-dev has either an expired password or API token.

The git checkout operation on Travis CI succeeds (because the repo is public), but git push fails (because TravisCI can no longer authenticate using the bad token / password).

This looks to be the case for PerseusDL/canonical-latinLit and PerseusDL/canonical-greekLit as well.

To fix, we need to update the $GITPERM setting on any of the impacted repos on Travis CI (in Repository Settings) with a personal access token:

https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

An alternative could be to move from Travis CI to GitHub actions (as you seem to have begun on https://github.com/PerseusDL/canonical-pdlpsci/pull/10). The advatnage of GitHub actions is that each repository comes "preconfigured" with a token that allows pushes (skipping the need to generate a personal access token).

jacobwegner commented 2 years ago

@lcerrato I began taking a pass at converting things over to GitHub actions on a fork:

https://github.com/jacobwegner/csel-dev/releases/tag/1.1.2

There are a couple of small tweaks I'd still need to make to have parity with the Travis CI workflows, but I think it'd be viable if we want to go that route.

AlisonBabeu commented 2 years ago

hi @jacobwegner thanks so much for looking into this, as soon as Lisa is back from vacation perhaps we should discuss the implications and possibilities of switching to GitHub actions vs. the current Travis CI workflow at the weekly Eldarion meeting.

jacobwegner commented 2 years ago

@AlisonBabeu and @lcerrato: I've made some more progress on this; happy to set up a call if it'd be helpful to walk through things; I'll also open PRs to the impacted repositories that demonstrates the conversion.

results:

lcerrato commented 2 years ago

hi! @jacobwegner

The plan was always to move to GitHub Actions, so there's no time like the present. There is a set in place in the small repo for Latin: https://github.com/OpenGreekAndLatin/Latin

I'll take a look as soon as I catch up on email. I had hoped to be at the meeting this week but had a conflict.

Anything we can do to incrementally get off of Travis at this point is very much appreciated. I understand the HookTest commands and parameters so I think that once things are in Actions, I can make little refinements as needed, but my main concern is more the release package builds as these affect what is going into SV and I don't understand those.

If you'd like to discuss further, I'm happy to do so.

@AlisonBabeu

jacobwegner commented 2 years ago

@lcerrato and @AlisonBabeu: I think the next best thing I can do is get PRs ready for the branches above; I've made a few slight tweaks from https://github.com/OpenGreekAndLatin/Latin that I can document on the PRs, and if we can agree on something on one PR, I can copy things throughout.

The difference between https://github.com/OpenGreekAndLatin/Latin and the "release package builds" for somethinng like PerseusDL/canonical-greekLit is that the files that fail the hooktests get removed from the release package:

With the current set up on https://github.com/OpenGreekAndLatin/Latin, the hooktest runs, but the failing files are included in the release.

So, let me circle back with the PRs, and we can go from there.

lcerrato commented 2 years ago

@jacobwegner Great! I think for OGL we have a pass/fail threshold — if anything fails, the build fails. So the non-compliant stuff has to be fixed. Whereas, the Perseus repo (obviously) tolerates lots of non-compliant files, in keeping with the different workflows.

AlisonBabeu commented 2 years ago

hi @jacobwegner and @lcerrato I'm happy to have a call or follow through on the pull requests, whatever works best, thanks so much for setting this up!