On Wed, Jun 23, 2021 at 10:51 PM 'Michel Krämer' via jackson-dev
<
jacks...@googlegroups.com> wrote:
>
> Hi Tatu,
>
> I think this is a good idea. Please note that GitHub also limits the number of GitHub Actions minutes per month, depending on which plan you have. I can see that you are on the Pro plan so you should have 3000 minutes per month (the default for the free plan is 2000) [1]. There are other limits regarding the number of concurrent jobs etc. [2]. The limits should be more than enough for almost all open source projects -- I just wanted to mention them in case you have different requirements.
Thanks! Yes, makes sense; due to Bitcoin mining schemes, all CI/CD
providers are imposing bit stricter limits.
> By the way, I'm using GitHub Actions for all my open source projects (including bson4jackson). I was an early adopter and have quite some experience with it. If you need help, just let me know.
Thank you! This should be useful. I found this which also looks useful:
https://www.marcd.dev/articles/2021-03/mvncentral-publish-github
but specific repos to have a look at are even more useful.
Beyond basic set up of 2 workflows (I think):
1. Regular branch build over active branches, maybe PRs (depending on
limits); just do `mvn clean verify`, with couple of diff JDKs, can use
full caching (but has to refresh snapshot deps)
2. Snapshot publish from active branches, using the official JDK
(lowest one we can use, currently JDK 8)
(why 2 workflows? I assume one could create unified one for both but I
suspect separate ones are easier to do, even if there's slight
duplication)
What would be really cool tho would be to have either:
1. Dependency snapshots: from static setup of dependencies, publish of
`jackson-databind` for given branch would also trigger builds of (some
of) the dependencies (same branch): at least, say,
`jackson-modules-base` and all 3 dataformats repos
2. or, if too complex/inefficient, Cron/Daily builds of a subset of
all components -- similar to (1) wrt resolving dependencies, just
longer latency
the main goal of which would be to try to catch occasional regressions
where I (usually :) ) break some aspect of `jackson-databind` for
developing branch, but not noticing failure until building that
component.
On Travis world, Scala module has such a setup.
-+ Tatu +-
> To view this discussion on the web visit
https://groups.google.com/d/msgid/jackson-dev/4BB4B52B-1B89-4B51-B2E1-877EC044F532%40googlemail.com.