From f895051277d0a58cc45fd5f4925d4b9ef2d2f9c3 Mon Sep 17 00:00:00 2001 From: Nanne Baars Date: Sat, 27 Mar 2021 17:55:58 +0100 Subject: [PATCH] WIP --- .github/workflows/release.yml | 81 +++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 492b3892c..4e9702859 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,30 +4,46 @@ on: tags: - test* # todo replace with v* jobs: - build: + release: + name: Release WebGoat runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + + - name: "Get tag name" + id: tag + uses: dawidd6/action-get-tag@v1 + - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 architecture: x64 + - name: Cache Maven packages uses: actions/cache@v2 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 + + - name: "Set labels for ${{ github.ref }}" + run: | + echo "WEBGOAT_TAG_VERSION=${{ steps.tag.outputs.tag }}" >> $GITHUB_ENV + echo "WEBGOAT_MAVEN_VERSION=${WEBGOAT_TAG_VERSION:1}" >> $GITHUB_ENV + - name: Build with Maven - run: mvn clean install -DskipTests + run: | + mvn versions:set ${WEBGOAT_VERSION} + mvn clean install -DskipTests + - name: "Create release" uses: softprops/action-gh-release@v1 with: draft: false files: | - webgoat-server/target/*.jar - webwolf/target/*.jar + webgoat-server/target/webgoat-server-${WEBGOAT_MAVEN_VERSION}.jar + webwolf/target/webwolf-${WEBGOAT_MAVEN_VERSION}.jar body: | ## Version ${{ steps.tag.outputs.tag }} @@ -52,36 +68,27 @@ jobs: Team WebGoat env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - docker: - name: "Docker build & push" - runs-on: ubuntu-latest - needs: build - steps: - - name: "Check out" - uses: actions/checkout@v2 - - name: "Get tag name" - id: tag - uses: dawidd6/action-get-tag@v1 - - name: "Set up QEMU" - uses: docker/setup-qemu-action@v1 - - name: "Set up Docker Buildx" - uses: docker/setup-buildx-action@v1 - - name: "Login to dockerhub" - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: "Build and push" - uses: docker/build-push-action@v2 - with: - context: ./docker - file: docker/Dockerfile - push: false #todo enable - platforms: linux/amd64 - tags: | - webgoat/goatandwolf:${{ steps.tag.outputs.tag }} - build-args: | - webgoat_version=${{ steps.tag.outputs.tag }} - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: "Set up QEMU" + uses: docker/setup-qemu-action@v1 + - name: "Set up Docker Buildx" + uses: docker/setup-buildx-action@v1 + - name: "Login to dockerhub" + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: "Build and push" + uses: docker/build-push-action@v2 + with: + context: ./docker + file: docker/Dockerfile + push: false #todo enable + platforms: linux/amd64 + tags: | + webgoat/goatandwolf:${WEBGOAT_TAG_VERSION} + # todo webgoat/goatandwolf:latest + build-args: | + webgoat_version=${WEBGOAT_TAG_VERSION} + - name: "Image digest" + run: echo ${{ steps.docker_build.outputs.digest }}