Files
infra-shared/build-and-test/action.yml
Jörn Müehlencord 579324c62b using composite
2026-03-31 21:27:14 +02:00

88 lines
2.1 KiB
YAML

name: gitea pipeline build
inputs:
workflow_call:
inputs:
git_repository:
required: true
type: string
java_version:
required: true
type: int
java_distribution:
required: false
type: string
default: "liberica"
maven_version:
required: false
type: string
default: 3.9.14
sonar_host:
required: true
type: string
dtrack_host_name:
required: true
type: string
# dtrack.muehlencord.de
dtrack_protocol:
required: false
type: string
default: "https"
dtrack_port:
required: false
type: string
default: "443"
dtrack_bom_file:
required: true
type: string
dtrack_project_uuid:
required: true
type: string
secrets:
SSH_PRIVATE_KEY:
required: true
SONAR_TOKEN:
required: true
DTRACK_API_KEY:
required: true
runs:
using: 'composite'
steps:
- name: Clone repository
shell: bash
run: |
git clone ${{ inputs.main_uuid }} source
cd source
git checkout ${{ github.ref_name }}
- name: Set up JDK ${{ java_version }}
uses: actions/setup-java@v5
with:
distribution: ${{ java_distribution }}
java-version: ${{ java_version }}
cache: 'maven'
- name: Set up Maven ${{ maven_version }}
uses: stCarolas/setup-maven@v4
with:
maven-version: ${{ maven_version }}
- name: Build with Maven
working-directory: source
shell: bash
run: mvn -B clean verify sonar:sonar org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom -Dsonar.host.url="${{ inputs.sonar_host }}" -Dsonar.token="${{ secrets.SONAR_TOKEN }}"
- name: Upload SBOM to DTrack
uses: DependencyTrack/gh-upload-sbom@v3
with:
serverhostname: ${{ dtrack_host_name }}
protocol: ${{ inputs.dtrack_protocol }}
port: ${{ inputs.dtrack_port }}
apikey: ${{ secrets.DTRACK_API_KEY }}
project: ${{ inputs.dtrack_project_uuid }}
bomfilename: ${{ inputs.dtrack_bom_file }}