From a73a8116cf271adead0972e38f6cc9e5e1845bc7 Mon Sep 17 00:00:00 2001 From: Gang Li Date: Mon, 4 Dec 2023 16:09:18 +0800 Subject: [PATCH] Add github actions --- .github/workflows/merge-build.yml | 60 +++++++++++++++++++++++++++++++ .github/workflows/pr-build.yml | 44 +++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 .github/workflows/merge-build.yml create mode 100644 .github/workflows/pr-build.yml diff --git a/.github/workflows/merge-build.yml b/.github/workflows/merge-build.yml new file mode 100644 index 0000000..cd59c6a --- /dev/null +++ b/.github/workflows/merge-build.yml @@ -0,0 +1,60 @@ +# +# Copyright (C) 2023 Red Hat, Inc. (https://github.com/Commonjava/indy-ui-service) +# +# 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. +# + +# 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: Merge / Push Build + +on: [push] + +jobs: + publish-snapshot: + + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v2 + + - name: Set up JDK + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + # server-id: sonatype + # server-username: SONATYPE_BOT_USERNAME + # server-password: SONATYPE_BOT_TOKEN + + - name: maven-settings-xml-action + uses: whelk-io/maven-settings-xml-action@v14 + if: ${{ github.event.repository.fork == false }} + with: + repositories: '[{ "id": "sonatype", "url": "https://oss.sonatype.org/content/repositories/snapshots/", "releases": {"enabled": "false"}, "snapshots": {"enabled": "true" }}]' + servers: '[{ "id": "sonatype", "username": "${{ secrets.SONATYPE_BOT_USERNAME}}", "password": "${{ secrets.SONATYPE_BOT_TOKEN}}" }]' + + - name: "Maven Build & Deploy Snapshot to Sonatype OSSRH" + if: ${{ github.event.repository.fork == false }} + + run: mvn -B -e deploy -DaltDeploymentRepository=sonatype::default::https://oss.sonatype.org/content/repositories/snapshots/ + + - name: "Maven Build" + if: ${{ github.event.repository.fork == true }} + + run: mvn -B -e verify diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml new file mode 100644 index 0000000..fd9daaa --- /dev/null +++ b/.github/workflows/pr-build.yml @@ -0,0 +1,44 @@ +# +# Copyright (C) 2023 Red Hat, Inc. (https://github.com/Commonjava/indy-ui-service) +# +# 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. +# + +# 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: PR Build + +on: [pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up JDK + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + + - name: maven-settings-xml-action + uses: whelk-io/maven-settings-xml-action@v14 + with: + repositories: '[{ "id": "sonatype", "url": "https://oss.sonatype.org/content/repositories/snapshots/", "releases": {"enabled": "false"}, "snapshots": {"enabled": "true" }}]' + + - name: Build with Maven + run: mvn -B -e verify