diff --git a/.github/workflows/merge-build.yml b/.github/workflows/merge-build.yml new file mode 100644 index 0000000..b4c6675 --- /dev/null +++ b/.github/workflows/merge-build.yml @@ -0,0 +1,90 @@ +# +# Copyright (C) 2011-2022 Red Hat, Inc. (https://github.com/Commonjava/service-parent) +# +# 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: + name: Build & push image + + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + env: + MAVEN_OPTS: "-Xmx4096m -Xms2048m -XX:MaxMetaspaceSize=4096m -Xss8m" + + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + architecture: x64 + java-version: 11 + + - 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: "Maven Verify" + if: ${{ github.event.repository.fork == true }} + run: mvn -B -e verify + + - name: "Maven Build" + if: ${{ github.event.repository.fork == false }} + run: mvn -B -e clean install + + - name: Checkout tools repo + uses: actions/checkout@v4 + with: + repository: Commonjava/commonjava-images + path: commonjava-images + + - name: Log in to Quay.io + uses: redhat-actions/podman-login@v1 + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_ROBOT_TOKEN }} + registry: quay.io + + - name: Buildah build + id: buildah-build + uses: redhat-actions/buildah-build@v2 + with: + image: indy-archive-service + tags: ${{ github.ref_name }} + platforms: linux/amd64 + containerfiles: | + commonjava-images/indy-archive-service/actions.Dockerfile + context: commonjava-images/indy-archive-service/ + + - name: Push To quay.io + id: push-to-quay + uses: redhat-actions/push-to-registry@v2 + with: + image: ${{ steps.buildah-build.outputs.image }} + tags: ${{ steps.buildah-build.outputs.tags }} + registry: quay.io/factory2 \ No newline at end of file diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml new file mode 100644 index 0000000..f1c75e8 --- /dev/null +++ b/.github/workflows/pr-build.yml @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011-2022 Red Hat, Inc. (https://github.com/Commonjava/service-parent) +# +# 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 \ No newline at end of file