From 84d8b75f72d0410adc4ba2205beb683504f49f00 Mon Sep 17 00:00:00 2001 From: Sebastian Hofmann Date: Wed, 11 Oct 2023 14:46:24 +0200 Subject: [PATCH] Switch to github actions --- .github/workflows/maven-pr.yml | 28 ++++++++++++ .github/workflows/maven-publish-release.yml | 33 ++++++++++++++ .github/workflows/maven-publish-snapshot.yml | 34 +++++++++++++++ Jenkinsfile | 46 -------------------- 4 files changed, 95 insertions(+), 46 deletions(-) create mode 100644 .github/workflows/maven-pr.yml create mode 100644 .github/workflows/maven-publish-release.yml create mode 100644 .github/workflows/maven-publish-snapshot.yml delete mode 100644 Jenkinsfile diff --git a/.github/workflows/maven-pr.yml b/.github/workflows/maven-pr.yml new file mode 100644 index 00000000..3d4b3950 --- /dev/null +++ b/.github/workflows/maven-pr.yml @@ -0,0 +1,28 @@ +# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path + +name: Pull Request Checks + +on: + release: + on: [ pull_request ] + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + server-id: ossrhs01 # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + - name: Build with Maven + run: mvn -B package --file pom.xml diff --git a/.github/workflows/maven-publish-release.yml b/.github/workflows/maven-publish-release.yml new file mode 100644 index 00000000..9936fc25 --- /dev/null +++ b/.github/workflows/maven-publish-release.yml @@ -0,0 +1,33 @@ +# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path + +name: Maven "Snapshot" Release + +on: + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + server-id: ossrhs01 # Value of the distributionManagement/repository/id field of the pom.xml + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Change Versions + run: mvn versions:set -DnewVersion=${{ github.ref_name }}-SNAPSHOT + - name: Publish to OSSRH with Apache Maven + run: mvn --batch-mode deploy + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} diff --git a/.github/workflows/maven-publish-snapshot.yml b/.github/workflows/maven-publish-snapshot.yml new file mode 100644 index 00000000..71883c47 --- /dev/null +++ b/.github/workflows/maven-publish-snapshot.yml @@ -0,0 +1,34 @@ +# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path + +name: Maven Snapshot deploy + +on: + push: + branches: + - 'main' + - '2022.06.x' + - '2021.06.x' +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + server-id: ossrhs01 # Value of the distributionManagement/repository/id field of the pom.xml + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Publish to OSSRH with Apache Maven + run: mvn --batch-mode deploy + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index ec41cbbb..00000000 --- a/Jenkinsfile +++ /dev/null @@ -1,46 +0,0 @@ -pipeline { - agent any - - environment { - SELENIUM_BROWSER = 'chrome' - } - - stages { - stage('Build and Test only') { - when { - not { - anyOf { - branch 'main' - branch '2021.06' - } - } - } - steps { - withMaven (maven: 'mvn', jdk: 'OJDK11') { - sh 'mvn -U clean verify' - } - } - } - - stage('Build, Test and Deploy') { - when { - anyOf { - branch 'main' - branch '2021.06' - } - } - steps { - withMaven (maven: 'mvn', jdk: 'OJDK11', mavenSettingsConfig: 'maven-deploy-settings') { - withCredentials([ - usernamePassword(credentialsId: 'ossrhs01', passwordVariable: 'PASSWORD_VAR', usernameVariable: 'USERNAME_VAR'), - usernamePassword(credentialsId: 'gpg', passwordVariable: 'KEYPW_VAR', usernameVariable: 'KEYID_VAR') - ]) - { - sh 'mvn -U clean deploy -Dgpg.executable=gpg -Dgpg.keyname=${KEYID_VAR} -Dgpg.passphrase=${KEYPW_VAR} -Dossrhs01.username=${USERNAME_VAR} -Dossrhs01.password=${PASSWORD_VAR}' - } - } - } - } - } - -}