-
Notifications
You must be signed in to change notification settings - Fork 7
Description
This idea came to me while reading through purescript/purescript#3942, specifically the part about updating CI to use the v0.14.0-rc2
tag:
- Update .travis.yml to grab the most recent RC (see eg purescript/purescript-prelude@268870d)
Thinking about how this would map onto GitHub Actions, the obvious thing to do would be to go through all of the purescript-contrib
libraries and update their ci.yml
files to point to a specific tag:
steps:
- uses: actions/checkout@v2
- uses: purescript-contrib/setup-purescript@main
with:
purescript: "0.14.0-rc2"
- run: spago build
However, doing it this way seems like it would cause headaches if we get into the situation where a future release candidate is needed, as we would then have to go through all the libraries again to update the tag.
As an alternative solution, I'd like to propose creating a new branch (purescript-0.14
, for example) for the PureScript v0.14.0 release. On this branch we'd reference whatever the latest v0.14.0 tag is as the default instead of latest
.
We can then update all of the purescript-contrib
libraries to point to our separate branch:
steps:
- uses: actions/checkout@v2
- uses: purescript-contrib/setup-purescript@purescript-0.14
- run: spago build
This way if we did end up having to go through multiple release candidates we could just bump the version of PureScript referenced on the purescript-0.14
branch and all of the projects referencing that branch would then pull the correct version.
In order to accomplish this it seems like we would need to add a way to override the default version of a tool that should be used if one is not provided by the consumer of the Action.