65 lines
1.8 KiB
YAML
65 lines
1.8 KiB
YAML
name: Docker Image
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
JAVA_VERSION:
|
|
description: Java version to use
|
|
required: false
|
|
type: string
|
|
default: '17'
|
|
PROJECT_NAME:
|
|
description: Project name
|
|
required: true
|
|
type: string
|
|
PROJECT_VERSION:
|
|
description: Release version
|
|
required: true
|
|
type: string
|
|
secrets:
|
|
CI_BOT_PAT:
|
|
required: true
|
|
|
|
env:
|
|
REPOSITORY_USER: ${{ vars.CI_BOT_USERNAME }}
|
|
REPOSITORY_TOKEN: ${{ secrets.CI_BOT_PAT }}
|
|
|
|
jobs:
|
|
docker-images:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
ref: "v${{ inputs.PROJECT_VERSION }}"
|
|
token: ${{ secrets.CI_BOT_PAT }}
|
|
- name: Set up JDK
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: ${{ inputs.JAVA_VERSION }}
|
|
cache: 'gradle'
|
|
- name: Build with Gradle
|
|
run: ./gradlew dockerCreateDockerfile
|
|
- name: Log in to GHCR
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ vars.CI_BOT_USERNAME }}
|
|
password: ${{ secrets.CI_BOT_PAT }}
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
with:
|
|
platforms: linux/amd64
|
|
- name: Build and push Docker image
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
cache-from: type=gha
|
|
cache-to: type=gha,mode=max
|
|
context: ./build/docker/
|
|
platforms: linux/amd64
|
|
provenance: false
|
|
push: true
|
|
sbom: false
|
|
tags: ghcr.io/${{ github.repository_owner }}/${{ inputs.PROJECT_NAME }}:${{ inputs.PROJECT_VERSION }},ghcr.io/${{ github.repository_owner }}/${{ inputs.PROJECT_NAME }}:latest
|