Skip to content

Nightly Release - Build #16

Nightly Release - Build

Nightly Release - Build #16

Workflow file for this run

---
name: Nightly Release - Build
on:
workflow_call:
inputs:
branch:
type: string
required: true
nightly:
type: boolean
required: true
secrets:
token:
required: false
registry:
required: false
registry_user:
required: false
registry_password:
required: false
outputs:
image_tag:
description: GHCR.io image tag for downstream consumption
value: ${{ jobs.release.outputs.image_tag }}
workflow_dispatch:
inputs:
branch:
type: choice
required: true
description: Which Branch to make the build from
options:
- main
nightly:
type: boolean
required: true
description: Is this part of a "nightly" workflow?
default: true
jobs:
release:
runs-on: ubuntu-latest
permissions:
packages: write
contents: write
outputs:
image_tag: ${{steps.build_image.image_tag}}
steps:
- name: checkout code
uses: actions/checkout@v4.2.2
with:
ref: ${{inputs.branch}}
- name: Clean Runner
uses: ./.github/actions/clean-runner
- name: setup java
uses: actions/setup-java@v4.6.0
with:
distribution: 'temurin'
java-version: '8'
cache: 'maven'
- name: Set version
if: inputs.nightly == true
run: echo "VERSION=${{inputs.branch}}-nightly" >> $GITHUB_ENV
- name: Set version
if: inputs.nightly == false
run: echo "VERSION=${{inputs.branch}}" >> $GITHUB_ENV
- name: show version
run: echo ${VERSION}
- name: Update pom.xml
run: |
if [[ "${{inputs.branch}}" =~ ^[0-9][0-9]\.[0-9][0-9]\.[0-9](-RC[0-9][0-9]+)? ]]; then
with_dash=`sed 's/\./-/g' <<< "${{inputs.branch}}"`
sed -i "s/99-99-99-SNAPSHOT/${with_dash}/" pom.xml
fi
- name: Start Database
uses: ./.github/actions/start-database
- name: Generate Bundle (docs and schemas)
working-directory: schema
run: ant bundle -Dbuilduser.overrides=build/overrides.external.xml -Doracle.image=gvenzl/oracle-free:23.4-full-faststart
- name: Create GitHub Release
id: create_release
uses: softprops/action-gh-release@v2.1.0
with:
files: |
schema/build/docs.zip
schema/build/resources.jar
schema/build/xmlSchema.zip
tag_name: ${{env.VERSION}}
generate_release_notes: true
token: ${{ secrets.token != null && secrets.token || secrets.GITHUB_TOKEN }}
- name: Log in to the Container registry
id: login-ghcr
uses: docker/login-action@v3.3.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.token != null && secrets.token || secrets.GITHUB_TOKEN }}
- name: Login to HEC Public Registry
uses: docker/login-action@v3.3.0
id: login-hec
with:
registry: ${{ secrets.registry != null && secrets.registry ||secrets.HEC_PUB_REGISTRY }}
username: ${{ secrets.registry_user != null && secrets.registry_user || secrets.ALT_REG_USER }}
password: ${{ secrets.registry_password != null && secrets.registry_password || secrets.ALT_REG_PASSWORD }}
- name: Build docker image
id: build_image
env:
IMAGE_TAG: ${{env.VERSION}}
HEC_PUB_REGISTRY: ${{secrets.HEC_PUB_REGISTRY}}
working-directory: schema
run: |
#HEC_PUB_REGISTRY="${{secrets.registry != null && secrets.registry ||secrets.HEC_PUB_REGISTRY}}"
REPO=`echo "${{github.repository}}" | tr '[:upper:]' '[:lower:]'`
ant docker.push -Dteamcity.branch=$VERSION \
-Ddocker.registry=ghcr.io/$REPO \
-Ddocker.registry_public=$HEC_PUB_REGISTRY
- name: Publish package
run: mvn --batch-mode deploy -Dbuilduser.overrides=schema/build/overrides.external.xml -Pgithub
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: setup java for hec push
uses: actions/setup-java@v4.6.0
with:
distribution: 'temurin'
java-version: '8'
cache: 'maven'
server-id: hec
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Publish package
run: mvn --batch-mode deploy -Dbuilduser.overrides=schema/build/overrides.external.xml -Phec
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MAVEN_USERNAME: ${{ secrets.registry_user != null && secrets.registry_user || secrets.ALT_REG_USER }}
MAVEN_PASSWORD: ${{ secrets.registry_password != null && secrets.registry_password || secrets.ALT_REG_PASSWORD }}
#- name: Logout of HEC pub registry
# if: ${{ always() }}
# run: |
# docker logout ${{ steps.login-hec.outputs.registry }}
- name: Logout of GH registry
if: ${{ always() }}
run: |
docker logout ${{ steps.login-ghcr.outputs.registry }}