86 lines
2.5 KiB
YAML
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 }}
|