# 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_USER: required: true AWS_CA_PASSWORD: required: true SSH_PRIVATE_KEY: required: true jobs: build: runs-on: ubuntu-latest permissions: contents: write packages: write steps: - uses: actions/checkout@v4 - name : Print version run: | echo "maven-release version 1" echo "repo url: $REPO_URL" env: REPO_URL: scm:git:git@devops.pravilanovait.hr:${{ github.repository }} - name: Set up Maven uses: stCarolas/setup-maven@v5 with: maven-version: '3.9.9' - name: Set up JDK 8 uses: actions/setup-java@v4 with: java-version: '8' distribution: 'corretto' cache: maven server-id: pravila--pravila-maven server-username: MAVEN_USER server-password: CODEARTIFACT_AUTH_TOKEN - name: Set up AWS Cli run: | curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip -q awscliv2.zip ./aws/install export TOKEN=`aws codeartifact get-authorization-token --region eu-west-1 --domain pravila --domain-owner 867459752380 --query authorizationToken --output text` echo "CODEARTIFACT_AUTH_TOKEN=$TOKEN" >> $GITHUB_ENV env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_CA_USER }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_CA_PASSWORD }} - 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: Maven release run: | mvn org.apache.maven.plugins:maven-release-plugin:3.1.0:prepare -B -DrepositoryId=deploy -DconnectionUrl=$REPO_URL mvn org.apache.maven.plugins:maven-release-plugin:3.1.0:perform -B -DrepositoryId=deploy -DconnectionUrl=$REPO_URL env: GITHUB_TOKEN: ${{ github.token }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_CA_USER }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_CA_PASSWORD }} REPO_URL: scm:git:git@devops.pravilanovait.hr:${{ github.repository }} MAVEN_USER: aws