From 4f6fbf01f495520ae771d62506519e97a04b7648 Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Mon, 7 Dec 2020 20:30:50 -0600 Subject: [PATCH] reorder build steps --- .github/workflows/release.yml | 93 ++++++++++++++++++----------------- 1 file changed, 48 insertions(+), 45 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e835c049f..a10f5ff2f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -47,6 +47,10 @@ jobs: - name: set git email run: git config --global user.name "${{ secrets.NBDROID_NAME }}" + + + + - name: free disk space run: | sudo swapoff -a @@ -89,7 +93,19 @@ jobs: summary="${summary//$'\r'/'%0D'}" echo "::set-output name=release_summary::$summary" - - name: prepare release + - name: select release type from branch name + run: | + current_branch=$(git rev-parse --abbrev-ref HEAD) + if [[ ${current_branch} == *"-rc"* ]] + then + echo "PRERELEASE=true" >> $GITHUB_ENV + echo "DOCKER_TAGS=nosqlbench/nosqlbench:${{ env.RELEASE_VERSION }}" >> $GITHUB_ENV + else + echo "PRERELEASE=false" >> $GITHUB_ENV + echo "DOCKER_TAGS=nosqlbench/nosqlbench:latest,nosqlbench/nosqlbench:${{ env.RELEASE_VERSION }}" >> $GITHUB_ENV + fi + + - name: prepare Maven release run: scripts/release-prepare.sh env: RELEASE_BRANCH_NAME: "main" @@ -106,6 +122,29 @@ jobs: MAVEN_REPO_SERVER_USERNAME: ${{ secrets.MVN_REPO_PRIVATE_REPO_USER }} MAVEN_REPO_SERVER_PASSWORD: ${{ secrets.MVN_REPO_PRIVATE_REPO_PASSWORD }} + - name: Setup docker buildx + uses: docker/setup-buildx-action@v1 + + - name: docker hub login + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: docker test build + uses: docker/build-push-action@v2 + with: + context: . + file: Dockerfile + pull: true + push: false + load: true + tags: ${{ env.DOCKER_TAGS }} + + - name: sanity check docker image + run: | + docker run --rm nosqlbench/nosqlbench:${{ env.RELEASE_VERSION }} --version + - name: bundle integration test logs run: | pwd @@ -119,8 +158,7 @@ jobs: name: itlogs path: itlogs - - - name: perform release + - name: perform Maven release run: scripts/release-perform.sh continue-on-error: true env: @@ -150,42 +188,7 @@ jobs: name: binaries path: staging - - name: select release type from branch name - run: | - current_branch=$(git rev-parse --abbrev-ref HEAD) - if [[ ${current_branch} == *"-rc"* ]] - then - echo "PRERELEASE=true" >> $GITHUB_ENV - echo "DOCKER_TAGS=nosqlbench/nosqlbench:${{ env.RELEASE_VERSION }}" >> $GITHUB_ENV - else - echo "PRERELEASE=false" >> $GITHUB_ENV - echo "DOCKER_TAGS=nosqlbench/nosqlbench:latest,nosqlbench/nosqlbench:${{ env.RELEASE_VERSION }}" >> $GITHUB_ENV - fi - - - name: Setup docker buildx - uses: docker/setup-buildx-action@v1 - - - name: docker hub login - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: docker build - uses: docker/build-push-action@v2 - with: - context: . - file: Dockerfile - pull: true - push: false - load: true - tags: ${{ env.DOCKER_TAGS }} - - - name: sanity check docker image - run: | - docker run --rm nosqlbench/nosqlbench:${{ env.RELEASE_VERSION }} --version - - - name: docker push + - name: docker push to hub uses: docker/build-push-action@v2 with: context: . @@ -203,8 +206,8 @@ jobs: name: guidebook path: guidebook - - name: create release - id: create_release + - name: create github release + id: create_github_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -215,24 +218,24 @@ jobs: prerelease: ${{ env.PRERELEASE }} body: ${{ steps.prepare_summary.outputs.release_summary }} - - name: upload nb.jar + - name: upload nb.jar to github release id: upload-nb-jar uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} + upload_url: ${{ steps.create_github_release.outputs.upload_url }} asset_path: nb/target/nb.jar asset_name: nb.jar asset_content_type: application/octet-stream - - name: upload nb binary + - name: upload nb binary to github release id: upload-nb-binary uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} + upload_url: ${{ steps.create_github_release.outputs.upload_url }} asset_path: nb/target/nb asset_name: nb asset_content_type: application/octet-stream