This commit is contained in:
Nanne Baars 2021-03-27 17:55:58 +01:00
parent e347887e00
commit f895051277

View File

@ -4,30 +4,46 @@ on:
tags: tags:
- test* # todo replace with v* - test* # todo replace with v*
jobs: jobs:
build: release:
name: Release WebGoat
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: "Get tag name"
id: tag
uses: dawidd6/action-get-tag@v1
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v1 uses: actions/setup-java@v1
with: with:
java-version: 11 java-version: 11
architecture: x64 architecture: x64
- name: Cache Maven packages - name: Cache Maven packages
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.m2 path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2 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 - name: Build with Maven
run: mvn clean install -DskipTests run: |
mvn versions:set ${WEBGOAT_VERSION}
mvn clean install -DskipTests
- name: "Create release" - name: "Create release"
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
draft: false draft: false
files: | files: |
webgoat-server/target/*.jar webgoat-server/target/webgoat-server-${WEBGOAT_MAVEN_VERSION}.jar
webwolf/target/*.jar webwolf/target/webwolf-${WEBGOAT_MAVEN_VERSION}.jar
body: | body: |
## Version ${{ steps.tag.outputs.tag }} ## Version ${{ steps.tag.outputs.tag }}
@ -52,36 +68,27 @@ jobs:
Team WebGoat Team WebGoat
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
docker: - name: "Set up QEMU"
name: "Docker build & push" uses: docker/setup-qemu-action@v1
runs-on: ubuntu-latest - name: "Set up Docker Buildx"
needs: build uses: docker/setup-buildx-action@v1
steps: - name: "Login to dockerhub"
- name: "Check out" uses: docker/login-action@v1
uses: actions/checkout@v2 with:
- name: "Get tag name" username: ${{ secrets.DOCKERHUB_USERNAME }}
id: tag password: ${{ secrets.DOCKERHUB_TOKEN }}
uses: dawidd6/action-get-tag@v1 - name: "Build and push"
- name: "Set up QEMU" uses: docker/build-push-action@v2
uses: docker/setup-qemu-action@v1 with:
- name: "Set up Docker Buildx" context: ./docker
uses: docker/setup-buildx-action@v1 file: docker/Dockerfile
- name: "Login to dockerhub" push: false #todo enable
uses: docker/login-action@v1 platforms: linux/amd64
with: tags: |
username: ${{ secrets.DOCKERHUB_USERNAME }} webgoat/goatandwolf:${WEBGOAT_TAG_VERSION}
password: ${{ secrets.DOCKERHUB_TOKEN }} # todo webgoat/goatandwolf:latest
- name: "Build and push" build-args: |
uses: docker/build-push-action@v2 webgoat_version=${WEBGOAT_TAG_VERSION}
with: - name: "Image digest"
context: ./docker run: echo ${{ steps.docker_build.outputs.digest }}
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 }}