nosqlbench/.github/workflows/release.yml

150 lines
5.1 KiB
YAML
Raw Normal View History

2020-03-04 11:26:22 -06:00
name: CI
on:
push:
branches:
- releases
2020-03-04 11:26:22 -06:00
jobs:
2020-03-10 18:44:59 -05:00
release:
2020-03-10 02:56:07 -05:00
runs-on: ubuntu-18.04
2020-03-04 11:26:22 -06:00
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
2020-03-04 13:15:36 -06:00
java-version: '12'
2020-03-04 11:26:22 -06:00
java-package: jdk
architecture: x64
2020-03-10 02:56:07 -05:00
2020-03-12 15:53:17 -05:00
- name: avoid release loop
run: scripts/avoid-release-loop.sh
env:
GIT_RELEASE_BOT_NAME: "nb-droid"
2020-03-10 18:43:15 -05:00
- name: capture tty
2020-03-12 03:00:51 -05:00
run: |
echo "::set-env name=TTY::"$(tty)
echo "::set-env name=GPG_TTY::"$(tty)
2020-03-10 18:43:15 -05:00
2020-03-10 18:37:44 -05:00
- name: initialize gpg
2020-03-12 03:00:51 -05:00
# env:
# GPG_TTY: ${TTY}
2020-03-10 18:37:44 -05:00
run: |
set -x
echo "${{ secrets.GITHUB_GPG_KEY }}" | base64 -d > private.key
2020-03-10 18:46:59 -05:00
gpg --import --batch ./private.key
2020-03-10 18:43:15 -05:00
rm ./private.key
echo "gnupg files:"
2020-03-10 18:37:44 -05:00
ls -l ~/.gnupg/
- name: set git username
run: git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
- name: set git email
run: git config --global user.name "${{ secrets.NBDROID_NAME }}"
2020-03-04 11:42:13 -06:00
- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
2020-03-10 02:56:07 -05:00
restore-keys: ${{ runner.os }}-m2
2020-03-10 16:04:36 -05:00
2020-03-10 02:56:07 -05:00
- name: read versions
run: |
set -x
CURRENT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
RELEASE_VERSION=${CURRENT_VERSION%%-SNAPSHOT}
BASE_VERSION=$(echo "$RELEASE_VERSION" | cut -d'.' -f1-2)
MINOR_VERSION=$(echo "$RELEASE_VERSION" | cut -d'.' -f3)
NEXT_MINOR_VERSION=$(( MINOR_VERSION+1))
NEXT_SNAPSHOT="${BASE_VERSION}.${NEXT_MINOR_VERSION}-SNAPSHOT"
echo "::set-env name=NEXT_SNAPSHOT::${NEXT_SNAPSHOT}"
echo "::set-env name=RELEASE_VERSION::${RELEASE_VERSION}"
2020-03-10 16:04:36 -05:00
2020-03-10 16:49:47 -05:00
- name: prepare release
run: scripts/release-prepare.sh
env:
2020-03-13 01:25:21 -05:00
RELEASE_BRANCH_NAME: "releases"
2020-03-10 16:49:47 -05:00
GIT_RELEASE_BOT_NAME: "nb-droid"
GIT_RELEASE_BOT_EMAIL: ${{ secrets.GIT_RELEASE_BOT_EMAIL }}
ACCESS_TOKEN: ${{ secrets.GITHUB_ACCESS_TOKEN }}
GPG_ENABLED: "true"
GPG_KEY_ID: ${{ secrets.GITHUB_GPG_KEY_ID }}
GPG_KEY: ${{ secrets.GITHUB_GPG_KEY }}
2020-03-12 02:04:16 -05:00
GPG_SERVER_NAME: ${{ secrets.GPG_SERVER_NAME }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
2020-03-12 03:16:19 -05:00
MAVEN_REPO_SERVER_ID: ${{ secrets.MAVEN_REPO_SERVER_ID }}
2020-03-10 16:49:47 -05:00
MAVEN_REPO_SERVER_USERNAME: ${{ secrets.MVN_REPO_PRIVATE_REPO_USER }}
MAVEN_REPO_SERVER_PASSWORD: ${{ secrets.MVN_REPO_PRIVATE_REPO_PASSWORD }}
- name: perform release
run: scripts/release-perform.sh
2020-03-10 16:04:36 -05:00
env:
2020-03-13 01:25:21 -05:00
RELEASE_BRANCH_NAME: "releases"
2020-03-10 16:28:02 -05:00
GIT_RELEASE_BOT_NAME: "nb-droid"
GIT_RELEASE_BOT_EMAIL: ${{ secrets.GIT_RELEASE_BOT_EMAIL }}
ACCESS_TOKEN: ${{ secrets.GITHUB_ACCESS_TOKEN }}
2020-03-10 16:04:36 -05:00
GPG_ENABLED: "true"
GPG_KEY_ID: ${{ secrets.GITHUB_GPG_KEY_ID }}
2020-03-10 16:28:02 -05:00
GPG_KEY: ${{ secrets.GITHUB_GPG_KEY }}
2020-03-12 03:00:51 -05:00
GPG_SERVER_NAME: ${{ secrets.GPG_SERVER_NAME }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
2020-03-12 03:16:19 -05:00
MAVEN_REPO_SERVER_ID: ${{ secrets.MAVEN_REPO_SERVER_ID }}
2020-03-10 16:04:36 -05:00
MAVEN_REPO_SERVER_USERNAME: ${{ secrets.MVN_REPO_PRIVATE_REPO_USER }}
MAVEN_REPO_SERVER_PASSWORD: ${{ secrets.MVN_REPO_PRIVATE_REPO_PASSWORD }}
# - name: prepare_release
# run: mvn --global-settings deploy.xml --batch-mode clean release:prepare -DdevelopmentVersion=${NEXT_SNAPSHOT} -DreleaseVersion=${RELEASE_VERSION}
# - name: perform_release
# run: mvn --global-settings deploy.xml --batch-mode release:perform
2020-03-04 11:42:13 -06:00
- name: upload artifacts
2020-03-12 15:26:39 -05:00
run: |
pwd
ls -l
2020-03-13 01:15:12 -05:00
mkdir staging && cp nb/target/nb.jar nb/target/nb staging
2020-03-04 11:42:13 -06:00
- uses: actions/upload-artifact@v1
with:
name: binaries
path: staging
2020-03-09 17:56:13 -05:00
- name: upload guidebook
run: mkdir guidebook && cp -R nb/target/guidebook guidebook
- uses: actions/upload-artifact@v1
with:
name: guidebook
path: guidebook
2020-03-12 04:29:01 -05:00
docs:
needs: release
runs-on: ubuntu-18.04
steps:
2020-03-12 22:05:27 -05:00
- name: set git username
run: git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
- name: set git email
run: git config --global user.name "${{ secrets.NBDROID_NAME }}"
2020-03-12 22:50:22 -05:00
- name: download guidebook
uses: actions/download-artifact@v1
2020-03-12 04:30:45 -05:00
with:
name: guidebook
path: guidebook
2020-03-12 04:29:01 -05:00
- run: ls -la
2020-03-12 22:50:22 -05:00
- name: clone nosqlbench-docs
2020-03-12 04:29:01 -05:00
env:
NBDROID_NAME: ${{ secrets.NBDROID_NAME }}
NBDROID_TOKEN: ${{ secrets.NBDROID_TOKEN }}
2020-03-12 20:43:08 -05:00
run: |
git clone https://${{secrets.NBDROID_NAME}}:${{secrets.NBDROID_TOKEN}}@github.com/nosqlbench/nosqlbench-docs.git nosqlbench-docs
2020-03-12 23:32:35 -05:00
cd nosqlbench-docs
2020-03-12 22:50:22 -05:00
git remote set-url origin https://${{secrets.NBDROID_NAME}}:${{secrets.NBDROID_TOKEN}}@github.com/nosqlbench/nosqlbench-docs.git
- name: push changes
2020-03-12 22:54:06 -05:00
run: |
2020-03-12 20:43:08 -05:00
rsync -av --delete guidebook/ nosqlbench-docs/docs/
2020-03-12 21:38:08 -05:00
cd nosqlbench-docs
2020-03-12 20:43:08 -05:00
git add docs
git add -u
git commit -m"docs update for $GITHUB_REF"
git push
2020-03-12 04:29:01 -05:00