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: "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 }}