Skip to content
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.

Run new GH Actions workflows #2

Run new GH Actions workflows

Run new GH Actions workflows #2

Workflow file for this run

name: PR build
on:
pull_request:
branches: [main]
env:
REGISTRY: ghcr.io
NAMESPACE: galasa-dev
jobs:
build-maven:
name: Build Maven source code and Docker image
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '11'
distribution: 'semeru'
cache: maven
- name: Print githash
run: |
echo $GITHUB_SHA > ./maven.githash
- name: Make secrets directory
run : |
mkdir /home/runner/work/secrets
- name: Copy settings.xml
env:
MAVEN_SETTINGS_XML: ${{ secrets.MAVEN_SETTINGS_XML }}
run : |
echo $MAVEN_SETTINGS_XML > /home/runner/work/secrets/settings.xml
- name: Copy GPG passphrase
env:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
run : |
echo $GPG_PASSPHRASE > /home/runner/work/secrets/passphrase.file
- name: Copy GPG key
env:
GPG_KEY_BASE64: ${{ secrets.GPG_KEY }}
run : |
echo $GPG_KEY_BASE64 | base64 --decode > /home/runner/work/secrets/galasa.gpg
# Set up Maven GPG directory
- name: Make GPG home directory
run: |
mkdir /home/runner/work/gpg
- name: Change directory permissions
run: |
chmod '700' /home/runner/work/gpg
- name: Import GPG
run: |
gpg --homedir /home/runner/work/gpg --pinentry-mode loopback --passphrase-file /home/runner/work/secrets/passphrase.file --import /home/runner/work/secrets/galasa.gpg
- name: Copy custom settings.xml
run: |
cp /home/runner/work/secrets/settings.xml /home/runner/work/gpg/settings.xml
- name: Building Maven source code
run: |
mvn -f galasa-maven-plugin/pom.xml deploy -Dgpg.skip=true \
-Dgalasa.source.repo=https://development.galasa.dev/gh/maven-repo/gradle \
-Dgalasa.central.repo=https://repo.maven.apache.org/maven2/ \
-Dgalasa.release.repo=file:${{ github.workspace }}/repo \
--batch-mode --errors --fail-at-end \
--settings /home/runner/work/gpg/settings.xml
- name: Build Maven image for testing
uses: docker/build-push-action@v5
with:
context: .
file: dockerfiles/dockerfile
load: true
tags: maven:test
build-args: |
dockerRepository=harbor.galasa.dev
tag=main