gitea-actions/.github/workflows/maven-release.yml
2025-03-27 16:19:06 +01:00

86 lines
2.5 KiB
YAML

# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path
name: Maven Release
on:
workflow_call:
secrets:
AWS_CA_TOKEN:
required: true
SSH_PRIVATE_KEY:
required: true
MVN_SETTINGS_XML:
required: true
JAVA_VERSION:
required: true
DEVOPS_ACCESS_TOKEN:
required: true
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v4
- name: Checkout tools repo main branch
uses: actions/checkout@v4
env:
check_token: ${{ secrets.DEVOPS_ACCESS_TOKEN }}
if: ${{ env.check_token != '' }}
with:
repository: curh-backend/curh-schemas
path: curh-schemas
ref: main
token: ${{ secrets.DEVOPS_ACCESS_TOKEN }}
- name: Unpack curh schemas
if: ${{ hashFiles('curh-schemas/pom.xml') != '' }}
run: |
ls -al
cd curh-schemas/src/main/resources
mkdir -p /opt/rizik
cp -R xsd/ /opt/rizik/
- name: Set up Maven
uses: stCarolas/setup-maven@v5
with:
maven-version: '3.9.9'
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '${{ secrets.JAVA_VERSION }}'
distribution: 'corretto'
cache: maven
- name: Config git and ssh
run: |
git config --global user.email "gitea@pravilanovait.hr"
git config --global user.name "Gitea Actions"
echo -e "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chown 600 ~/.ssh/id_rsa
touch ~/.ssh/known_hosts
ssh-keygen -R devops.pravilanovait.hr
ssh-keyscan -t rsa devops.pravilanovait.hr > ~/.ssh/known_hosts
- name: Create Maven settings
run: |
echo -e "$SETTINGS_XML" > ~/.m2/settings.xml
env:
SETTINGS_XML: ${{ secrets.MVN_SETTINGS_XML }}
- name: Maven release
run: |
mvn org.apache.maven.plugins:maven-release-plugin:3.1.0:prepare -B -DrepositoryId=pravila--pravila-maven -DconnectionUrl=$REPO_URL
mvn org.apache.maven.plugins:maven-release-plugin:3.1.0:perform -B -DrepositoryId=pravila--pravila-maven -DconnectionUrl=$REPO_URL
env:
GITHUB_TOKEN: ${{ github.token }}
REPO_URL: scm:git:git@devops.pravilanovait.hr:${{ github.repository }}
CODEARTIFACT_AUTH_TOKEN: ${{ secrets.AWS_CA_TOKEN }}