Skip to content

Release

Ashwin Madavan edited this page Mar 13, 2018 · 1 revision

Setup

  • Perform once to setup release toolchain.
  • Artifact publishing is currently incompatible with GPG 2.1.
#!/bin/bash
# Setup GPG
cd ~/Downloads
curl -O ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.20.tar.gz
tar -xzf gnupg-1.4.20.tar.gz
cd gnupg-1.4.20
./configure
make
make check
sudo make install
gpg --gen-key
#!/bin/bash
echo -n "GPG Key ID: "
read KEY_ID
echo -n "GPG Key Password: "
read -s KEY_PASSWORD
echo

echo -n "Sonatype Nexus Username: "
read SONATYPE_USERNAME
echo -n "Sonatype Nexus Password: "
read -s SONATYPE_PASSWORD
echo

# Setup Pants PGP Configuration
mkdir -p ~/.config/pants/release/jvm
cat >> ~/.config/pants/release/jvm/pgp.properties << EOL
pgp.secring=~/.gnupg/secring.gpg
pgp.keyid=$KEY_ID
pgp.password=$KEY_PASSWORD
EOL
chmod 600 ~/.config/pants/release/jvm/pgp.properties

# Setup Sonatype Nexus
gpg --keyserver hkp://pgp.mit.edu --send-keys $KEY_ID
cat >> ~/.netrc << EOL
machine oss.sonatype.org
  login $SONATYPE_USERNAME
  password $SONATYPE_PASSWORD
EOL

Publish

  • Perform each time artifacts are published.
  • Version numbers conform to semantic versioning.
  • Run ./release.sh
Clone this wiki locally