Skip to content

Merge pull request #95 from entando-k8s/ENG-5520 #189

Merge pull request #95 from entando-k8s/ENG-5520

Merge pull request #95 from entando-k8s/ENG-5520 #189

Workflow file for this run

name: PUB
on:
push:
tags:
- 'v*'
env:
PPL_TEMPLATE_VERSION: "v2.0.0"
ENTANDO_BOT_TOKEN: ${{ secrets.ENTANDO_BOT_TOKEN }}
PR_CHECKER_PATH: ".github/pr-title-checker-config.json"
JDK_VERSION: 17
BUILD_COMMANDS: mvn package -Pjvm;
DOCKER_IMAGE_BASE_NAME: entando/entando-k8s-service
DOCKER_IMAGE_ARCHITECTURE: linux/amd64,linux/arm64
DOCKER_IMAGE_CONTEXT: .
DOCKER_IMAGE_FILE: Dockerfile
DOCKER_IMAGE_PUSH: true
jobs:
check-pr:
runs-on: ubuntu-latest
steps:
- uses: thehanimo/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
pass_on_octokit_error: false
configuration_path: ${{ env.PR_CHECKER_PATH }}
publication:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: "Set up JDK ${{ env.JDK_VERSION }}"
uses: actions/setup-java@v1
with:
java-version: ${{ env.JDK_VERSION }}
- name: "Cache Maven packages"
id: cache-maven
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2
restore-keys: ${{ runner.os }}-m2
- name: Build with Maven
run: ${{ env.BUILD_COMMANDS }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
${{ env.DOCKER_IMAGE_BASE_NAME }}
tags: |
type=schedule
type=ref,event=branch
type=ref,event=pr,value={{base_ref}}
type=ref,event=tag
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
type=raw,event=pr,value={{base_ref}}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
platforms: ${{ env.DOCKER_IMAGE_ARCHITECTURE }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.ENTANDO_OPT_DOCKER_USERNAME }}
password: ${{ secrets.ENTANDO_OPT_DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: ${{ env.DOCKER_IMAGE_CONTEXT }}
file: ${{ env.DOCKER_IMAGE_FILE }}
push: ${{ env.DOCKER_IMAGE_PUSH }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: ${{ env.DOCKER_IMAGE_ARCHITECTURE }}