Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
a04653199b | |||
5ccd798393 | |||
bc5e94957e | |||
51f28ae31b | |||
aa69afbe77 | |||
552ed58c55 | |||
f895051277 | |||
e347887e00 | |||
e65fd4d346 |
107
.github/workflows/release.yml
vendored
107
.github/workflows/release.yml
vendored
@ -4,77 +4,48 @@ on:
|
||||
tags:
|
||||
- test* # todo replace with v*
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
java: [11, 15]
|
||||
release:
|
||||
name: Release WebGoat
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK ${{ matrix.java }}
|
||||
|
||||
- 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: ${{ matrix.java }}
|
||||
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 "Version is ${WEBGOAT_TAG_VERSION}"
|
||||
echo "Version is ${env.WEBGOAT_TAG_VERSION}"
|
||||
WEBGOAT_MAVEN_VERSION=${env.WEBGOAT_TAG_VERSION:1}
|
||||
echo ${WEBGOAT_MAVEN_VERSION} >> $GITHUB_ENV
|
||||
- name: Build with Maven
|
||||
run: mvn clean install -DskipTests
|
||||
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:
|
||||
run: cd docker
|
||||
context: .
|
||||
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_release:
|
||||
name: Create Release
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
steps:
|
||||
- name: "Checkout code"
|
||||
uses: actions/checkout@v2
|
||||
- name: "Get tag name"
|
||||
id: tag
|
||||
uses: dawidd6/action-get-tag@v1
|
||||
run: |
|
||||
mvn versions:set -DnewVersion=${{ env.WEBGOAT_MAVEN_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-${{ env.WEBGOAT_MAVEN_VERSION }}.jar
|
||||
webwolf/target/webwolf-${{ env.WEBGOAT_MAVEN_VERSION }}.jar
|
||||
body: |
|
||||
## Version ${{ steps.tag.outputs.tag }}
|
||||
|
||||
@ -100,3 +71,31 @@ jobs:
|
||||
Team WebGoat
|
||||
env:
|
||||
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:${{ env.WEBGOAT_TAG_VERSION }}
|
||||
# todo webgoat/goatandwolf:latest
|
||||
build-args: |
|
||||
webgoat_version=${{ env.WEBGOAT_MAVEN_VERSION }}
|
||||
|
||||
- name: "Image digest"
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||
|
Reference in New Issue
Block a user