-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[new release] dune-release (1.5.0) #19002
[new release] dune-release (1.5.0) #19002
Conversation
CHANGES: ### Added - Add `--no-auto-open` to the default command. It was previously only available for `dune-release opam`. (tarides/dune-release#374, @NathanReb) - Add a `config create` subcommand to create a fresh configuration if you don't have one yet (tarides/dune-release#373, @NathanReb) - Add `--local-repo`, `--remote-repo` and `--opam-repo` options to the default command, they used to be only available for the `opam` subcommand (tarides/dune-release#363, @NathanReb) - Add a `--token` option to `dune-release publish` and `dune-release opam` commands to specify a github token. This allows dune-release to be called through a Github Actions workflow and use the github token through an environment variable. (tarides/dune-release#284 tarides/dune-release#368, @gpetiot @NathanReb) - Log curl calls on verbose/debug mode (tarides/dune-release#281, @gpetiot) - Try to publish the release asset again after it failed (tarides/dune-release#272, @gpetiot) - Improve error reporting of failing git comands (tarides/dune-release#257, @gpetiot) - Suggest a solution for users without ssh setup (tarides/dune-release#304, @pitag-ha) - Allow including git submodules to the distrib tarball by passing the `--include-submodules` flag to `dune-release`, `dune-release bistro` or `dune-release distrib` (tarides/dune-release#300, @NathanReb) - Support 'git://' scheme for dev-repo uri (tarides/dune-release#331, @gpetiot) - Support creation of draft releases and draft PRs. Define a new option `--draft` for `dune-release publish` and `dune-release opam submit` commands. (tarides/dune-release#248, @gpetiot) - Add a new command `check` to check the prerequisites of dune-release and avoid starting a release process that couldn't be finished (tarides/dune-release#318, tarides/dune-release#351, @pitag-ha) - When preparing the opam-repository PR and pushing the local branch to the user's remote opam-repository fork, use `--set-upstream` to ease any further update of the PR (tarides/dune-release#350, @gpetiot) ### Changed - Entirely rely on the remote fork of opam-repository URL in `opam submit` instead of reading the user separately. The information was redundant and could only lead to bugs when unproperly set. (tarides/dune-release#372, @NathanReb) - Use pure token authentication for Github API requests rather than "token as passwords" authentication (tarides/dune-release#369, @NathanReb) - Require tokens earlier in the execution of commands that use the github API. If the token isn't saved to the user's configuration, the prompt for creating one will show up at the command startup rather than on sending the first request (tarides/dune-release#368, @NathanReb) - Attach the changelog to the annotated tag message (tarides/dune-release#283, @gpetiot) - Do not remove versioned files from the tarball anymore. We used to exclude `.gitignore`, `.gitattributes` and other such files from the archive. (tarides/dune-release#299, @NathanReb) - Don't try to push the tag if it is already present and point to the same ref on the remote. `dune-release` must guess which URI to pass to `git push` and may guess it wrong. This change allows users to push the tag manually to avoid using that code. (tarides/dune-release#219, @Julow) - Don't try to create the release if it is already present and points to the same tag (tarides/dune-release#277, @kit-ty-kate) - Recursively exclude all `.git`/`.hg` files and folders from the distrib tarball (tarides/dune-release#300, @NathanReb) - Make the automatic dune-release workflow to stop if a step exits with a non-zero code (tarides/dune-release#332, @gpetiot) - Make git-related mdx tests more robust in unusual environments (tarides/dune-release#334, @sternenseemann) - Set the default tag message to "Release <tag>" instead of "Distribution <tag>" - Opam file linter: check for `synopsis` instead of `description` (tarides/dune-release#291, @kit-ty-kate) - Upgrade the use of the opam libraries to opam 2.1 (tarides/dune-release#343, @kit-ty-kate) ### Deprecated - Deprecate the `--user` CLI options and configuration field, they were redundant with the remote-repo option and field and could be set unproperly, leading to bugs (tarides/dune-release#372, @NathanReb) - Deprecate the use of delegates in `dune-release publish` (tarides/dune-release#276, tarides/dune-release#302, @pitag-ha) - Deprecate the use of opam file format 1.x (tarides/dune-release#352, @NathanReb) ### Removed - Option --name is removed from all commands. When used with `dune-release distrib`, it was previously effectively ignored. Now it is required to add a `(name <name>)` stanza to `dune-project`. (tarides/dune-release#327, @lehy) ### Fixed - Fix a bug where `opam submit` would look up a config file, even though all the required information was provided on the command line. This would lead to starting the interactive config creation quizz if that file did not exist which made it impossible to use it in a CI for instance. (tarides/dune-release#373, @NathanReb) - Fix a bug where `opam submit` would fail on non-github repositories if the user had no configuration file (tarides/dune-release#372, @NathanReb) - Fix a bug where subcommands wouldn't properly read the token files, leading to authentication failures on API requests (tarides/dune-release#368, @NathanReb) - Fix a bug in `opam submit` preventing non-github users to create the opam-repo PR via dune-release. (tarides/dune-release#359, @NathanReb) - Fix a bug where `opam submit` would try to parse the custom URI provided through `--distrib-uri` as a github repo URI instead of using the dev-repo (tarides/dune-release#358, @NathanReb) - Fix the priority of the `--distrib-uri` option in `dune-release opam pkg`. It used to have lower precendence than the url file written by `dune-release publish` and therefore made it impossible to overwrite it if needed. (tarides/dune-release#255, @NathanReb) - Fix a bug with --distrib-file in `dune-release opam pkg` where you would need the regular dune-release generated archive to be around even though you specified a custom distrib archive file. (tarides/dune-release#255, @NathanReb) - Use int64 for timestamps. (tarides/dune-release#261, @gpetiot) - Define the order of packages (tarides/dune-release#263, @gpetiot) - Allow the dry-run mode to continue even after some API call's response were expected by using placeholder values (tarides/dune-release#262, @gpetiot) - Build and run tests for all selected packages when checking distribution tarball (tarides/dune-release#266, @NathanReb) - Improve trimming of the changelog to preserve the indentation of the list of changes. (tarides/dune-release#268, @gpetiot) - Trim the data of the `url` file before filling the `url.src` field. This fixes an issue that caused the `url.src` field to be a multi-line string instead of single line. (tarides/dune-release#270, @gpetiot) - Fix a bug causing dune-release to exclude all hidden files and folders (starting with `.`) at the repository from the distrib archive (tarides/dune-release#298, @NathanReb) - Better report GitHub API errors, all of the error messages reported by the GitHub API are now checked and reported to the user. (tarides/dune-release#290, @gpetiot) - Fix error message when `dune-release tag` cannot guess the project name (tarides/dune-release#319, @lehy) - Always warn about uncommitted changes at the start of `dune-release distrib` (tarides/dune-release#325, @lehy). Otherwise uncommitted changes to dune-project would be silently ignored by `dune-release distrib`. - Fix rewriting of github references in changelog (tarides/dune-release#330, @gpetiot) - Fixes a bug under cygwin where dune-release was unable to find the commit hash corresponding to the release tag (tarides/dune-release#329, @gpetiot) - Fixes release names by explicitly setting it to match the released version (tarides/dune-release#338, @NathanReb) - Fix a bug that prevented release of a package whose version number contains invalid characters for a git branch. The git branch names are now sanitized. (tarides/dune-release#271, @gpetiot) - `publish`: Fix the process of inferring user name and repo from the dev repo uri (tarides/dune-release#348, @pitag-ha)
Hmm, we already ran into these test failures locally but they usually don't show up on fresh builds. Do you think it would work to add some kind of Worst case I can also remove the tests from the opam file but I'd rather not cancel that release again, it's already been postponed too many times. |
This is a quick workaround until we have a good fix for dune-release's test suite. Signed-off-by: Nathan Rebours <nathan.p.rebours@gmail.com>
I'm guessing there are some missing |
…because of an old git) and add missing constraints (uses Fmt.failwith and Yojson.Basic.t)
Thanks! |
Release dune packages in opam
CHANGES:
Added
--no-auto-open
to the default command. It was previously only available fordune-release opam
. (Add --no-auto-open to default command and improve config CLI args mgmt tarides/dune-release#374, @NathanReb)config create
subcommand to create a fresh configuration if you don't have one yet(Fix interpretation of --local-repo and --remote-repo tarides/dune-release#373, @NathanReb)
--local-repo
,--remote-repo
and--opam-repo
options to the default command,they used to be only available for the
opam
subcommand (Add missing options to the bistro command tarides/dune-release#363, @NathanReb)--token
option todune-release publish
anddune-release opam
commandsto specify a github token. This allows dune-release to be called through a Github
Actions workflow and use the github token through an environment variable.
(Add a '--token' option to 'publish' and 'opam' commands to specify a github token tarides/dune-release#284 Improve GH token management tarides/dune-release#368, @gpetiot @NathanReb)
--include-submodules
flag todune-release
,dune-release bistro
ordune-release distrib
(Submodules in tarball tarides/dune-release#300, @NathanReb)--draft
fordune-release publish
anddune-release opam submit
commands.(Support creation of draft releases and draft PRs tarides/dune-release#248, @gpetiot)
check
to check the prerequisites of dune-release andavoid starting a release process that couldn't be finished (Add
check
command tarides/dune-release#318, Add dune project check tarides/dune-release#351, @pitag-ha)the user's remote opam-repository fork, use
--set-upstream
to ease any furtherupdate of the PR (Add tracking reference to the release branch tarides/dune-release#350, @gpetiot)
Changed
opam submit
instead ofreading the user separately. The information was redundant and could only lead to bugs
when unproperly set. (Deprecate user options and config field and rely on remote-repo entirely tarides/dune-release#372, @NathanReb)
authentication (Use proper token based authentication for github v3 API tarides/dune-release#369, @NathanReb)
isn't saved to the user's configuration, the prompt for creating one will show up at the
command startup rather than on sending the first request (Improve GH token management tarides/dune-release#368, @NathanReb)
.gitignore
,.gitattributes
and other such files from the archive.(Include versioned files to the archive tarides/dune-release#299, @NathanReb)
dune-release
must guess which URI to pass togit push
and may guess it wrong.This change allows users to push the tag manually to avoid using that code. (Distrib: Push the tag only if necessary tarides/dune-release#219, @Julow)
.git
/.hg
files and folders from the distribtarball (Submodules in tarball tarides/dune-release#300, @NathanReb)
synopsis
instead ofdescription
(Linter: check for synopsis instead of description tarides/dune-release#291, @kit-ty-kate)Deprecated
--user
CLI options and configuration field, they were redundant withthe remote-repo option and field and could be set unproperly, leading to bugs (Deprecate user options and config field and rely on remote-repo entirely tarides/dune-release#372, @NathanReb)
dune-release publish
(Deprecate delegates tarides/dune-release#276, Improve the deprecation of delegates tarides/dune-release#302, @pitag-ha)Removed
dune-release distrib
, it was previously effectively ignored. Nowit is required to add a
(name <name>)
stanza todune-project
. (Remove option --name tarides/dune-release#327, @lehy)Fixed
opam submit
would look up a config file, even though all the requiredinformation was provided on the command line. This would lead to starting the interactive
config creation quizz if that file did not exist which made it impossible to use it in a CI
for instance. (Fix interpretation of --local-repo and --remote-repo tarides/dune-release#373, @NathanReb)
opam submit
would fail on non-github repositories if the user had noconfiguration file (Deprecate user options and config field and rely on remote-repo entirely tarides/dune-release#372, @NathanReb)
failures on API requests (Improve GH token management tarides/dune-release#368, @NathanReb)
opam submit
preventing non-github users to create the opam-repo PRvia dune-release. (Fix opam submit for non gh projects tarides/dune-release#359, @NathanReb)
opam submit
would try to parse the custom URI provided through--distrib-uri
as a github repo URI instead of using the dev-repo (Fix inference of gh URIs tarides/dune-release#358, @NathanReb)--distrib-uri
option indune-release opam pkg
.It used to have lower precendence than the url file written by
dune-release publish
and therefore made it impossible to overwrite it if needed. (Fix a couple bugs in opam pkg subcommand with --dist-file and --dist-uri tarides/dune-release#255, @NathanReb)
dune-release opam pkg
where you would needthe regular dune-release generated archive to be around even though you specified
a custom distrib archive file. (Fix a couple bugs in opam pkg subcommand with --dist-file and --dist-uri tarides/dune-release#255, @NathanReb)
(Build and run tests for all selected packages in distrib tarides/dune-release#266, @NathanReb)
url
file before filling theurl.src
field. This fixes an issue that caused theurl.src
field to be a multi-line string instead of single line. (Trim the data of theurl
file before filling theurl.src
field tarides/dune-release#270, @gpetiot).
) at therepository from the distrib archive (Fix a bug excluding all root dotfiles from the generated distrib tarball tarides/dune-release#298, @NathanReb)
dune-release tag
cannot guess the project name (with 2 .opam files, tag suggests wrong option "-p" tarides/dune-release#319, @lehy)dune-release distrib
(Always warn about uncommitted changes at the start of dune-release distrib tarides/dune-release#325, @lehy). Otherwise uncommitted changes todune-project would be silently ignored by
dune-release distrib
.publish
: Fix the process of inferring user name and repo from the dev repo uri (Fix the process of inferring user name and repo tarides/dune-release#348, @pitag-ha)