name: "Branch build" on: push: branches: - "*" - "!main" jobs: branch-build: runs-on: ${{ matrix.os }} strategy: matrix: os: [ ubuntu-latest, windows-latest, macos-latest ] java-version: [ 17, 21 ] steps: - uses: actions/checkout@v3 - name: Set up JDK ${{ matrix.java-version }} uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java-version }} architecture: x64 - name: Cache Maven packages uses: actions/cache@v3.3.1 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2- - name: Build with Maven run: mvn --no-transfer-progress verify - name: "Set up QEMU" if: runner.os == 'Linux' uses: docker/setup-qemu-action@v2.2.0 - name: "Set up Docker Buildx" if: runner.os == 'Linux' uses: docker/setup-buildx-action@v2 - name: "Verify Docker WebGoat build" if: runner.os == 'Linux' uses: docker/build-push-action@v5.1.0 with: context: ./ file: ./Dockerfile push: false build-args: | webgoat_version=${{ env.WEBGOAT_MAVEN_VERSION }} - name: "Verify Docker WebGoat desktop build" uses: docker/build-push-action@v5.1.0 if: runner.os == 'Linux' with: context: ./ file: ./Dockerfile_desktop push: false build-args: | webgoat_version=${{ env.WEBGOAT_MAVEN_VERSION }}