- to do a release, you must know what module, with what version you should use.
- to prepare or perform a adobe-dx release, you must have write access to that repository, and a token that has write access to it
- each and every release must be signed, so you need to have GPG key (https://help.github.com/en/github/authenticating-to-github/generating-a-new-gpg-key)
- once done, you can add in your
~/.m2/settings.xml
following profile
...
<profiles>
<profile>
<id>dx-release</id>
<properties>
<gpg.keyname><!--your public key--></gpg.keyname>
<gpg.passphrase><!--encrypted gpg passphrase--></gpg.passphrase>
</properties>
</profile>
</profiles>
- note that depending on your OS, you may hit https://issues.apache.org/jira/browse/MGPG-59 which is plugin's gpg agent trying to access IO. Message being something like
gpg: signing failed: Inappropriate ioctl for device
As proposed in the ticket, in order to counter balance this, pls execute following command before preparing release:
gpg -u <your key's email> --use-agent --armor --detach-sign --output $(mktemp) pom.xml
- check that your local is up to date with origin,
- check that a release would work by running a dry run release
mvn release:prepare -Pdx-release -DdryRun=true
if things looks good to you, you can rollback all changesmvn release:rollback -Pdx-release -DdryRun=true
- prepare the release
mvn release:prepare -Pdx-release
- perform the release
mvn release:perform -Pdx-release
- (if anything goes wrong) rollback the release
mvn release:rollback -Pdx-release
- (if things went well) go to https://github.com/adobe/adobe-dx/packages and check there released artifacts. Eventually do an announce / gh release if important one.