WebGoat/.github/workflows/release.yml
Nanne Baars ae6f9aebcb WIP
2021-03-27 14:57:31 +01:00

50 lines
1.4 KiB
YAML

name: "Release Pipeline"
on:
push:
tags:
- test* # replace with v*
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
java: [11, 15]
steps:
- uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
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: Build with Maven
run: mvn clean install -DskipTests
docker:
runs-on: ubuntu-latest
steps:
- name: "Get tag name"
id: tag
uses: dawidd6/action-get-tag@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: .
file: docker/Dockerfile
platforms: linux/amd64,linux/arm/v7,linux/arm64
push: false
tags: |
webgoat/goatandwolf:${{ steps.tag.outputs.tag }}
build-args: |
webgoat_version=${{ steps.tag.outputs.tag }}