From fbb525dbbb370d6b4bbf0a094c98930fa4a47dc1 Mon Sep 17 00:00:00 2001 From: Nick Cross Date: Wed, 18 Dec 2024 13:47:40 +0000 Subject: [PATCH] Add workflow --- .github/workflows/maven.yml | 79 +++++++++++++++++++++++++++++++++++++ .gitignore | 23 +++++------ 2 files changed, 91 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000..15e5d77 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,79 @@ +# This workflow will build a Java project with Maven +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: CI + +on: + push: + branches: [ main ] + paths-ignore: + - 'LICENSE' + - 'README.md' + pull_request: + branches: [ main ] + paths-ignore: + - 'LICENSE' + - 'README.md' + +jobs: + build: + # https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif + if: github.repository == 'project-ncl/konflux-tooling' && github.event_name == 'pull_request' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: 21 + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.9.8 + - name: Build with Maven + run: mvn -B -V install -Dvalidate-format + - name: Codecov + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + verbose: true + + snapshot: + if: github.repository == 'project-ncl/konflux-tooling' && github.event_name == 'push' && github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: 21 + # https://github.com/marketplace/actions/maven-setings-action + - name: Maven Settings + uses: s4u/maven-settings-action@v3.1.0 + with: + sonatypeSnapshots: true + githubServer: false + servers: | + [{ + "id": "sonatype-nexus-snapshots", + "username": "${{ secrets.SONATYPE_USERNAME }}", + "password": "${{ secrets.SONATYPE_PASSWORD }}" + }] + - name: Deploy Snapshot + run: mvn -B -V -Pjboss-release deploy diff --git a/.gitignore b/.gitignore index 2f43530..1e7d2d1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1,18 @@ +#Maven target/ pom.xml.tag pom.xml.releaseBackup pom.xml.versionsBackup -pom.xml.next release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties -# https://github.com/takari/maven-wrapper#usage-without-binary-jar -.mvn/wrapper/maven-wrapper.jar +.flattened-pom.xml -# Eclipse m2e generated files -# Eclipse Core -.project -# JDT-specific (Eclipse Java Development Tools) -.classpath +# IntelliJ +.idea +*.ipr +*.iml +*.iws + +# Plugin directory +/.quarkus/cli/plugins/ +# TLS Certificates +.certs/