diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index eea7013..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,19 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates -version: 2 -updates: - - package-ecosystem: "maven" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" - ignore: - - dependency-name: "*" - update-types: ["version-update:semver-major","version-update:semver-minor"] - - - package-ecosystem: "github-actions" # Also update Github actions - directory: "/" - schedule: - # Check for updates to GitHub Actions every week - interval: "weekly" diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..79c66cc --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,15 @@ +# From https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes#creating-automatically-generated-release-notes-for-a-new-release +changelog: + categories: + - title: 🐛 Fixes / 🚀 Enhancements + labels: + - '*' + exclude: + labels: + - dependencies + - title: 👒 Project Dependencies + labels: + - java + - title: 👒 CI Dependencies + labels: + - github_actions diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml deleted file mode 100644 index 0831425..0000000 --- a/.github/workflows/maven-build.yml +++ /dev/null @@ -1,67 +0,0 @@ -# -# Copyright (C) 2011-2024 Red Hat, Inc. (https://github.com/Commonjava/http-testserver) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -name: build on maven - -on: - watch: - types: [started] - pull_request: - types: [opened, reopened, edited, synchronize, ready_for_review] - push: - branches: - - master - - 1.x - - workflow_dispatch: - -jobs: - build: - name: Build with maven - runs-on: ubuntu-latest - env: - MAVEN_OPTS: "-Xmx4096m -Xms2048m -XX:MaxMetaspaceSize=4096m -Xss8m" - steps: - - uses: actions/checkout@v6 - - - name: Set up JDK 11 for x64 - uses: actions/setup-java@v5 - with: - java-version: '11' - distribution: 'temurin' - architecture: x64 - - - uses: s4u/maven-settings-action@v4.0.0 - with: - sonatypeSnapshots: true - - - name: Build the Maven verify phase - run: mvn -B -V clean verify -Prun-its -Pci - - - - uses: s4u/maven-settings-action@v4.0.0 - if: ${{ github.event_name == 'push' }} - with: - servers: | - [{ - "id": "central-portal-snapshots", - "username": "${{ secrets.SONATYPE_BOT_USERNAME }}", - "password": "${{ secrets.SONATYPE_BOT_TOKEN }}" - }] - - - name: Deploy the artifact - if: ${{ github.event_name == 'push' }} - run: mvn help:effective-settings -B -V clean deploy -e diff --git a/.github/workflows/maven-mend.yml b/.github/workflows/maven-mend.yml new file mode 100644 index 0000000..ae7e31c --- /dev/null +++ b/.github/workflows/maven-mend.yml @@ -0,0 +1,35 @@ +name: Mend CLI scan for Maven + +on: + push: + branches: + - 1.x + +permissions: + contents: read + actions: read + checks: write + pull-requests: write + security-events: write + +jobs: + build: + uses: project-ncl/shared-github-actions/.github/workflows/maven-ci.yml@646d9b629925d6405fb06ed1476aefd6b2cdca86 # v0.0.23 + with: + java_version: "11" + build_command: "MAVEN_OPTS='-Xmx4096m -Xms2048m -XX:MaxMetaspaceSize=4096m -Xss8m' mvn -B -V clean verify" + upload_artifacts: true + + call-mend-ci: + needs: build + uses: project-ncl/shared-github-actions/.github/workflows/mend-ci.yml@646d9b629925d6405fb06ed1476aefd6b2cdca86 # v0.0.23 + with: + project_name: "Commonjava/http-testserver" + SCA: true + SAST: false + secrets: + MEND_URL: ${{ secrets.MEND_URL }} + MEND_USER_KEY: ${{ secrets.MEND_USER_KEY }} + MEND_EMAIL: ${{ secrets.MEND_EMAIL }} + MEND_ORGNAME: ${{ secrets.MEND_ORGNAME }} + MEND_PRODUCTNAME: ${{ secrets.MEND_PRODUCTNAME }} diff --git a/.github/workflows/maven-pr.yml b/.github/workflows/maven-pr.yml new file mode 100644 index 0000000..ea512a3 --- /dev/null +++ b/.github/workflows/maven-pr.yml @@ -0,0 +1,16 @@ +name: Java CI with Maven + +permissions: + contents: read + +on: + pull_request: + branches: ["1.x"] + +jobs: + call-maven-ci: + uses: project-ncl/shared-github-actions/.github/workflows/maven-ci.yml@646d9b629925d6405fb06ed1476aefd6b2cdca86 # v0.0.23 + with: + java_version: "11" + build_command: "MAVEN_OPTS='-Xmx4096m -Xms2048m -XX:MaxMetaspaceSize=4096m -Xss8m' mvn -B -V clean verify" + upload_artifacts: true diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml new file mode 100644 index 0000000..7d894d2 --- /dev/null +++ b/.github/workflows/maven-release.yml @@ -0,0 +1,25 @@ +name: "0 Central Release Job" # Adding the 0 so that it's on top of the list of github actions +on: + workflow_dispatch: # Manual trigger so you don't release on every push + inputs: + ref_to_release: + description: "[Optional] Branch or commit to release. Default: 1.x" + required: false + type: string + # default has to be a static string, no variables allowed + default: "1.x" + +jobs: + call-release-job: + permissions: + contents: write # needed to push commit and tag back to the repository + uses: project-ncl/shared-github-actions/.github/workflows/maven-release.yml@646d9b629925d6405fb06ed1476aefd6b2cdca86 # v0.0.23 + with: + java_version: "11" + ref_to_release: ${{ inputs.ref_to_release }} + release_command: "mvn -B -V release:prepare release:perform -DlocalCheckout=true -DpushChanges=false" + secrets: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_BOT_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_BOT_TOKEN }} + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} diff --git a/.github/workflows/maven-set-version.yml b/.github/workflows/maven-set-version.yml new file mode 100644 index 0000000..c42dcfb --- /dev/null +++ b/.github/workflows/maven-set-version.yml @@ -0,0 +1,25 @@ +name: "0 Maven Set Version Job" # Adding the 0 so that it's on top of the list of github actions +on: + workflow_dispatch: # Manual trigger + inputs: + new_version: + description: "[Required] Version to set" + required: true + type: string + + ref_for_version: + description: "[Optional] Branch or commit to change version. Default: 1.x" + required: false + type: string + # default has to be a static string, no variables allowed + default: "1.x" + +jobs: + call-maven-set-version-job: + permissions: + contents: write # needed to push commit and tag back to the repository + uses: project-ncl/shared-github-actions/.github/workflows/maven-set-version.yml@646d9b629925d6405fb06ed1476aefd6b2cdca86 # v0.0.23 + with: + java_version: "11" + new_version: ${{ inputs.new_version }} + ref_for_version: ${{ inputs.ref_for_version }} diff --git a/.github/workflows/maven-snapshot.yml b/.github/workflows/maven-snapshot.yml new file mode 100644 index 0000000..d6a7eb4 --- /dev/null +++ b/.github/workflows/maven-snapshot.yml @@ -0,0 +1,18 @@ +name: Build snapshot version and upload to Maven Central + +on: + push: + branches: ["1.x"] + +permissions: {} + +jobs: + call-snapshot-job: + uses: project-ncl/shared-github-actions/.github/workflows/maven-snapshot.yml@646d9b629925d6405fb06ed1476aefd6b2cdca86 # v0.0.23 + with: + java_version: "11" + project_name: "Commonjava/http-testserver" + snapshot_deploy_command: "mvn help:effective-settings -B -V clean deploy -e" + secrets: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_BOT_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_BOT_TOKEN }} diff --git a/.github/workflows/validate-gh-action.yml b/.github/workflows/validate-gh-action.yml new file mode 100644 index 0000000..ad77e19 --- /dev/null +++ b/.github/workflows/validate-gh-action.yml @@ -0,0 +1,12 @@ +name: Validate GitHub Actions Workflows +permissions: {} + +on: + pull_request: + branches: ["1.x"] + paths: + - ".github/workflows/*.yml" + +jobs: + validate: + uses: project-ncl/shared-github-actions/.github/workflows/validate-gh-action.yml@646d9b629925d6405fb06ed1476aefd6b2cdca86 # v0.0.23 diff --git a/pom.xml b/pom.xml index 8470f00..377d05f 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,12 @@