Skip to content

Merge pull request #28 from bhuism/renovate/org.openapitools-openapi-… #255

Merge pull request #28 from bhuism/renovate/org.openapitools-openapi-…

Merge pull request #28 from bhuism/renovate/org.openapitools-openapi-… #255

Workflow file for this run

name: Pseudoniemen Service
on:
push:
branches: [ "development" ]
pull_request:
branches: [ "development" ]
jobs:
test:
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'liberica'
cache: maven
- name: Test with Maven
run: mvn -ntp -B clean verify org.apache.maven.plugins:maven-checkstyle-plugin:check com.github.spotbugs:spotbugs-maven-plugin:check
build:
if: github.event_name != 'pull_request'
strategy:
fail-fast: true
matrix:
platform: [amd64, arm64]
include:
- platform: amd64
runner: ubuntu-latest
javaarch: x64
- platform: arm64
runner: ubuntu-24.04-arm
javaarch: aarch64
runs-on: ${{ matrix.runner }}
needs:
- test
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- name: print arch
run: uname -a
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io/bhuism/pseudoniemenservice
username: bhuism
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/bhuism/pseudoniemenservice
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'liberica'
architecture: ${{ matrix.javaarch }}
java-version: '21'
cache: 'maven'
- name: Buid and publish image via spring build-image
run: |
mvn -Pnative -ntp -B -DskipTests clean spring-boot:build-image -Dspring-boot.build-image.imagePlatform=linux/${{ matrix.platform }} -Dspring-boot.build-image.imageName=ghcr.io/bhuism/pseudoniemenservice:latest-${{ matrix.platform }}
- name: Push
run: |
docker push ghcr.io/bhuism/pseudoniemenservice:latest-${{ matrix.platform }}
# - name: Set up Pack
# uses: buildpacks/github-actions/[email protected]
# with:
# pack-version: 0.35.1
# - name: Build and publish image via pack
# run: |
# pack build ghcr.io/bhuism/pseudoniemenservice:latest-${{ matrix.platform }} \
# --builder docker.io/paketobuildpacks/builder-jammy-buildpackless-tiny \
# --buildpack gcr.io/paketo-buildpacks/java-native-image \
# --publish \
# --platform linux/${{ matrix.platform }} \
# --env BP_NATIVE_IMAGE=true \
# --env BP_MAVEN_ACTIVE_PROFILES=native
manifest-and-push:
runs-on: ubuntu-latest
needs: build
if: success()
steps:
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io/bhuism/pseudoniemenservice
username: bhuism
password: ${{ secrets.GITHUB_TOKEN }}
- name: merge containers and push
run: |
docker manifest create ghcr.io/bhuism/pseudoniemenservice:latest \
ghcr.io/bhuism/pseudoniemenservice:latest-amd64 ghcr.io/bhuism/pseudoniemenservice:latest-arm64
docker manifest push ghcr.io/bhuism/pseudoniemenservice:latest
rollout-restart:
needs: manifest-and-push
runs-on: ubuntu-latest
name: Rollout Restart
steps:
- name: Kubernetes context
uses: Azure/k8s-set-context@v4
with:
method: kubeconfig
kubeconfig: ${{ secrets.KUBE_CONFIG }}
- name: Rollout Restart
run: kubectl -n pseudoniemenservice rollout restart deployment pseudoniemenservice