Skip to content

Make first alpha release for v0.15.0#4251

Merged
JordanMartinez merged 6 commits intopurescript:masterfrom
JordanMartinez:make-0.15.0-rc1
Mar 1, 2022
Merged

Make first alpha release for v0.15.0#4251
JordanMartinez merged 6 commits intopurescript:masterfrom
JordanMartinez:make-0.15.0-rc1

Conversation

@JordanMartinez
Copy link
Copy Markdown
Contributor

Description of the change

This follows the approach done in #3976. In #3933, we dropped package.yaml file. Running stack build and then calling purs --version on the produced binary prints this output:

$ ./.stack-work/install/x86_64-linux-tinfo6/d400b0043ab29e05088ff3d6399c1c588ef336df281e2e819bcac83142913d36/8.10.7/bin/purs --version
0.15.0-rc1 [development build; commit: f01ba8f4d402dde0dad9feae4c48949318bf24be DIRTY]

I'm not sure when we want to make the first release candidate (as there may be additional work to do before such a release), but once this PR is merged, we'd make a new GH release by creating a tag for v0.15.0-rc1 and checking the 'Is prelease' checkbox.


Checklist:

  • Added a file to CHANGELOG.d for this PR (see CHANGELOG.d/README.md)
  • Added myself to CONTRIBUTORS.md (if this is my first contribution)
  • Linked any existing issues or proposals that this pull request should close
  • Updated or added relevant documentation
  • Added a test for the contribution (if applicable)

@JordanMartinez JordanMartinez added this to the v0.15.0 milestone Feb 28, 2022
@JordanMartinez
Copy link
Copy Markdown
Contributor Author

Once #4241 is merged, I think this release should be made.

@rhendric
Copy link
Copy Markdown
Member

rhendric commented Mar 1, 2022

Really? Seems like we have some more breaking changes that have just been recently proposed. Do we want to push them for another major release?

Or do we use the term ‘release candidate’ here to mean something other than ‘this build is a candidate for being the final release, if no issues arise during testing’?

@JordanMartinez
Copy link
Copy Markdown
Contributor Author

Ah, sorry! Let me clarify.

Calling this a 'release candidate' is just using the wrong term. It's more like a 'beta release'. Making a "not ready for production use yet" release means I can start testing ES modules migration PRs that are being submitted to the core repos. Since most repos already use setup-purescript, I'm updating that tool to also work on pre-release versions (see purescript-contrib/setup-purescript#27). So, making a release candidate just unblocks the initial part of ecosystem migration. Sometimes, updating the libraries will reveal bugs in the code or highlight issues we need to address before we make the actual release.

In other words, I fully expect to merge more breaking changes PRs before we make a final v0.15.0 release (e.g. we still need to drop purs bundle). I'm merely repeating what we did for v0.14.0, and those pre-releases had suffixes like rc1.

@thomashoneyman
Copy link
Copy Markdown
Member

We need an ES-modules-compliant version of the compiler to be available so we can start making 0.15 changes across the purescript, purescript-contrib, purescript-node, and purescript-web organizations.

However, they certainly don't need to be named "release candidates" and carry the -rc suffix, as that carries a specific meaning that implies we're closer to a release than we are. I'd be perfectly happy with, for example, 0.15.0-alpha!

@rhendric
Copy link
Copy Markdown
Member

rhendric commented Mar 1, 2022

Oh good, thanks for explaining guys. I have no objection whatsoever to an alpha or beta release at this time, and given past precedent, I'm even mostly okay with calling it an RC... but the suggestion to actually use something like -alpha1 as the suffix sounds great to me!

@JordanMartinez
Copy link
Copy Markdown
Contributor Author

Let's call it "alpha". I think using more accurate terminology prevents cases of confusion like this 😄.

@JordanMartinez JordanMartinez changed the title Make first RC candidate for v0.15.0 Make first alpha release for v0.15.0 Mar 1, 2022
app/Version.hs Outdated
-- set this to an empty string.
prerelease :: String
prerelease = "-rc1"
prerelease = "-alpha1"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what convention we typically follow, but I'm used to seeing -alpha.1 and -rc.1 (with the dot)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤷‍♂️ If we include the ., then Version.parseVersion (assuming I'm reading it right) will list the two values separately. But the general question is, "Does it matter?"

Copy link
Copy Markdown
Member

@rhendric rhendric Mar 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Practically, I think it only matters if we have more than 9 alpha releases, in which case per (my reading of) the SemVer spec, -alpha10 will sort before -alpha2, but -alpha.10 would sort after -alpha.2.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Our history on this seems less than fully consistent.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, dot it is!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, guess you can't do a dot in .cabal. In that case I'm happy with alpha-1.

@JordanMartinez JordanMartinez merged commit 6590563 into purescript:master Mar 1, 2022
@JordanMartinez JordanMartinez deleted the make-0.15.0-rc1 branch March 1, 2022 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants