diff --git a/.github/workflows/dev_build.yml b/.github/workflows/dev_build.yml index cf423ec..5295194 100644 --- a/.github/workflows/dev_build.yml +++ b/.github/workflows/dev_build.yml @@ -6,31 +6,28 @@ # separate terms of service, privacy policy, and support # documentation. -name: Development Build +name: Util Development Build on: push: branches: [ "dev" ] - paths: - - '**.xml' - - '**.java' - pull_request: - branches: [ "dev", "main" ] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout Util - uses: actions/checkout@v3 + uses: actions/checkout@v4 + - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: maven + - name: Build Util - run: mvn clean package --file pom.xml + run: mvn clean install --file pom.xml # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive # - name: Update dependency graph diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml new file mode 100644 index 0000000..0ec6a4c --- /dev/null +++ b/.github/workflows/release_build.yml @@ -0,0 +1,48 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Util Release Build + +on: + push: + tags: + - 'v*' + branches: ["main"] + +jobs: + create-release: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout Util + uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + + - name: Build Util + run: mvn clean install -Prelease --file pom.xml + + - name: Get Util Version + run: | + echo "version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout --file pom.xml)" >> "$GITHUB_ENV" + + - name: Make Util Release + uses: ncipollo/release-action@v1.13.0 + with: + artifacts: "target/util-${{ env.version }}*.jar" + prerelease: ${{ endsWith(env.version, 'SNAPSHOT') || contains(env.version, '-RC') }} + name: "v${{ env.version }}" + tag: "v${{ env.version }}" + generateReleaseNotes: true + skipIfReleaseExists: true diff --git a/.github/workflows/release_pr_build.yml b/.github/workflows/release_pr_build.yml new file mode 100644 index 0000000..46fbf94 --- /dev/null +++ b/.github/workflows/release_pr_build.yml @@ -0,0 +1,34 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Util Release Pull Request Build + +on: + pull_request: + branches: ["main"] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout Util + uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + + - name: Build Util + run: mvn clean install --file pom.xml + + # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive + # - name: Update dependency graph + # uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6