Merge remote-tracking branch 'origin/development' into development #121
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pseudoniemen Service | |
on: | |
push: | |
branches: [ "development" ] | |
pull_request: | |
branches: [ "development" ] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '21' | |
distribution: 'liberica' | |
cache: maven | |
- name: Test with Maven | |
run: mvn --batch-mode --update-snapshots verify | |
build: | |
runs-on: ubuntu-latest | |
if: github.event_name != 'pull_request' | |
needs: | |
- test | |
permissions: | |
contents: read | |
packages: write | |
attestations: write | |
id-token: write | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- amd64 | |
- arm64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Test | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '21' | |
distribution: 'liberica' | |
cache: maven | |
- name: Run the Maven verify phase | |
run: mvn --batch-mode --update-snapshots verify | |
# - name: Extract metadata (tags, labels) for Docker | |
# id: meta | |
# if: github.event_name != 'pull_request' | |
# uses: docker/metadata-action@v5 | |
# with: | |
# images: ghcr.io/ictu/pseudoniemenservice | |
- name: Login to GHCR | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io/ictu/pseudoniemenservice | |
username: ictu | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Pack | |
uses: buildpacks/github-actions/[email protected] | |
with: | |
pack-version: 0.35.1 | |
- name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ghcr.io/ictu/pseudoniemenservice-${{ matrix.platform }} | |
- name: Build and publish OCI image | |
run: | | |
pack build ghcr.io/ictu/pseudoniemenservice-${{ matrix.platform }} \ | |
--builder docker.io/paketobuildpacks/builder-jammy-buildpackless-tiny \ | |
--buildpack gcr.io/paketo-buildpacks/java \ | |
--path . \ | |
--platform linux/${{ matrix.platform }} \ | |
--report-output-dir ./report.toml \ | |
--publish | |
# | |
# - name: Set up JDK | |
# uses: actions/setup-java@v4 | |
# with: | |
# java-version: '21' | |
# distribution: "liberica" | |
# cache: maven | |
# - name: Build Native with Maven | |
# if: github.event_name != 'pull_request' | |
# run: mvn -ntp -B clean install spring-boot:build-image -Dspring-boot.build-image.imageName=ghcr.io/ictu/pseudoniemenservice:latest | |
# | |
# - name: Build with Maven | |
# if: github.event_name == 'pull_request' | |
# run: mvn -ntp -B clean install | |
# | |
# - name: Push docker image | |
# if: github.event_name != 'pull_request' | |
# run: | | |
# docker push --platform ${{ matrix.platform }} ghcr.io/ictu/pseudoniemenservice:lates | |
merge: | |
runs-on: ubuntu-latest | |
if: github.event_name != 'pull_request' | |
needs: | |
- build | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ghcr.io/ictu/pseudoniemenservice | |
- name: Login to GHCR | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io/ictu/pseudoniemenservice | |
username: ictu | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create manifest list and push | |
run: | | |
docker buildx imagetools create --tag ghcr.io/ictu/pseudoniemenservice ghcr.io/ictu/pseudoniemenservice-amd64 ghcr.io/ictu/pseudoniemenservice-arm64 |