Skip to content

Build Workflow -- 1.32.0 #62

Build Workflow -- 1.32.0

Build Workflow -- 1.32.0 #62

Workflow file for this run

name: Build Workflow
run-name: 'Build Workflow -- ${{ github.head_ref || github.ref_name }}'
on:
push:
pull_request:
workflow_dispatch:
env:
BRANCH_NAME: ${{github.ref_name}}
jobs:
build-job:
name: Build Job
runs-on: ubuntu-24.04
steps:
- uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'zulu'
- name: Checkout Code
uses: actions/checkout@v4
- name: Build Protoc Docker container
uses: docker/build-push-action@v6
with:
push: false
context: .
file: protoc.dockerfile
tags: tinkar-schema-protoc:latest
#outputs: type=docker,dest=/tmp/protocimage.tar
# - name: Build C sharp Docker container
# uses: docker/build-push-action@v6
# with:
# push: false
# context: .
# file: csharp.dockerfile
# tags: tinkar-schema-csharp:latest
# #outputs: type=docker,dest=/tmp/csharpimage.tar
- name: Generate Java Code
run: |
docker run -v ./src/main/java-generated:/home/proto-builder/src/main/java-generated --rm tinkar-schema-protoc:latest
- name: list java code
run: |
ls src/main/java-generated
- name: build java code
run: |
./mvnw clean install \
--batch-mode \
-e \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-Dmaven.build.cache.enabled=false \
-PcodeQuality
publish_to_ossrh:
name: Publish To Maven Central (OSSRH)
runs-on: ubuntu-24.04
if: github.repository_owner == 'ikmdev' && github.ref_type == 'tag'
needs: build-job
steps:
- name: Checkout Code Repository
uses: actions/checkout@v4
with:
ref: ${{env.BRANCH_NAME}}
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-private-key: ${{secrets.GPG_KEY}}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Build Protoc Docker container
uses: docker/build-push-action@v6
with:
push: false
context: .
file: protoc.dockerfile
tags: tinkar-schema-protoc:latest
- name: Generate Java Code
shell: bash
run: |
sudo docker run -v ./src/main/java-generated:/home/proto-builder/src/main/java-generated --rm tinkar-schema-protoc:latest
- name: list java code
shell: bash
run: |
ls src/main/java-generated
- name: Maven Build
shell: bash
run: |
./mvnw clean install -U \
--batch-mode \
-e \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-Dmaven.build.cache.enabled=false \
-PcodeQuality
- name: Publish To OSSRH (Maven Central Staging)
shell: bash
run: |
./mvnw deploy -U\
--batch-mode \
-e \
-U \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DskipTests \
-DskipITs \
-Dmaven.main.skip \
-Dmaven.test.skip \
-DrepositoryId=ossrh \
-DrepositoryIdOSSRH='true' \
-PstageOSSRH \
-Dmaven.build.cache.enabled=false
env:
MAVEN_USERNAME: ${{secrets.OSSRH_TOKEN_USER}}
MAVEN_CENTRAL_TOKEN: ${{secrets.OSSRH_TOKEN_PASS}}
MAVEN_GPG_PASSPHRASE: ${{secrets.GPG_PASSPHRASE}}