Closed pomadchin closed 2 years ago
Okay, I'll see if I can add this to next sprint :+1:
@pomadchin Can you get in touch with me via email or some other way and update me on what the procedure is for cutting releases is? I believe that some things have changed and I no longer know how to do it.
Yo @jamesmcclain i think it’s just pushing the non lightweight (tag with a message, git tag -a v1.2.0 -m "v1.2.0"
) version tag!
I don’t remember if you still need to publish artifact manually from the staging maven repository (https://oss.sonatype.org/#stagingRepositories) though
Okay, got it. Quesiton for you: why is the CI trying to publish artifacts from PR branches (running build-publish
on PRs)? Shouldn't it only be doing that from master
after a merge? I'm looking at this: https://github.com/geotrellis/gdal-warp-bindings/blob/master/.circleci/config.yml#L189
Ah, never mind -- it seems to do the right thing when I make a PR from my own fork of the project.
yea, there are these lines: https://github.com/geotrellis/gdal-warp-bindings/blob/master/.circleci/config.yml#L139-L146
It publishes packages from branches in case its not a fork as well. It creates artifacts versioned properly, i.e. 1.1.2-pull_114-SNAPSHOT
and publishes to the sonatype snapshots repo
I just updated the changelog. Will wait for the CI to finish then push the tag
The publish target failed when I merged the PR branch. Is that expected?
check the GPG Key! Its expired?
Really it needs any valid GPG key, there is always an option to generate the new Azavea GPG key and sign artifacts with it.
Are you able to get on gitter real fast?
@pomadchin I will not be able to do the release today. I have a new key generated and working, but I am now encountering a different problem with gpg in CircleCI:
[DEBUG] Populating class realm plugin>org.apache.maven.plugins:maven-gpg-plugin:1.6
[DEBUG] Included: org.apache.maven.plugins:maven-gpg-plugin:jar:1.6
[DEBUG] Included: backport-util-concurrent:backport-util-concurrent:jar:3.1
[DEBUG] Included: org.codehaus.plexus:plexus-interpolation:jar:1.11
[DEBUG] Included: junit:junit:jar:3.8.1
[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:3.0.20
[DEBUG] Included: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.4
[DEBUG] Included: org.sonatype.plexus:plexus-cipher:jar:1.4
[DEBUG] Configuring mojo org.apache.maven.plugins:maven-gpg-plugin:1.6:sign from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-gpg-plugin:1.6, parent: sun.misc.Launcher$AppClassLoader@1b6d3586]
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-gpg-plugin:1.6:sign' with basic configurator -->
[DEBUG] (f) ascDirectory = /workdir/target/gpg
[DEBUG] (f) defaultKeyring = true
[DEBUG] (f) interactive = true
[DEBUG] (f) passphraseServerId = gpg.passphrase
[DEBUG] (f) project = MavenProject: com.azavea.geotrellis:gdal-warp-bindings:1.1.2-release-SNAPSHOT @ /tmp/pom8533530067155805602.jgitver-maven-plugin.xml
[DEBUG] (f) settings = org.apache.maven.execution.SettingsAdapter@427308f8
[DEBUG] (f) skip = false
[DEBUG] (f) useAgent = true
[DEBUG] -- end configuration --
[DEBUG] Generating signature for /workdir/target/gdal-warp-bindings-1.1.2-release-SNAPSHOT.jar
gpg: signing failed: Required environment variable not set
gpg: signing failed: Required environment variable not set
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.346 s
[INFO] Finished at: 2022-08-01T18:33:30Z
[INFO] ------------------------------------------------------------------------
There is an error there about a required environment variable being set -- I can see people complaining about this happening in CircleCI, but I don't see a clear solution. I was getting an error previously about the tty not being set, I have already added export GPG_TTY=$(tty)
to the recipe to (seemingly) address that problem.
Unless you know how to address this problem, we might end up having to wait until we have more time to iterate on this and/or switch the build to GitHub actions.
@jamesmcclain I'll take a look mb later today, just to double check, did you base64 encode the GPG key?
@pomadchin Yup, the key import (both from the keyserver and from the enviornment variable) is working. The problem that I cited seems to be coming from an invocation of gpg within mvn (that is just what it seems, not 100% sure).
@jamesmcclain do you have the GPG_PASSPHRASE set? Or this key is without a passphrase?
@pomadchin The passpharase is set and in the environment
@jamesmcclain if there is a passphrase, then maven requires extra configurations, check this out https://github.com/geotrellis/gdal-warp-bindings/pull/116#issuecomment-1202705325
@pomadchin Okay, the build is succeeding now with the new key, many thanks. I just pushed the 1.2.0 tag but the CI was not automatically triggered. I restarted the CI on the tip of master hoping that that will push the release but it did not.
Are the release instructions up to date in that regard? Is further configuration needed to get the CI to push the release?
Hey @jamesmcclain, the tag should start with v
, git tag -a v1.2.0 -m "v1.2.0"
vs 1.2.0 right now https://github.com/geotrellis/gdal-warp-bindings/tree/1.2.0
@pomadchin Okay, it has been released. Many thanks :+1:
I'm pretty interested in the fresh release (even as is) that includes this PR https://github.com/geotrellis/gdal-warp-bindings/pull/107. It's still not Mac M1 support which could be ideal, but better than nothing: simplifies (performance-wise) binaries usage in ARM docker.