Skip to content

Sync from main (#459) #139

Sync from main (#459)

Sync from main (#459) #139

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches:
- 'main'
- '2.9.x'
- '2.8.x'
- '2.7.x'
paths-ignore:
- '.github/**'
jobs:
build:
if: github.repository_owner == 'spring-cloud'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# cache maven repo
- uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-m2-
# jdk8
- uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'liberica'
- uses: jvalkeal/setup-maven@v1
with:
maven-version: 3.8.8
maven-mirror: 'https://dlcdn.apache.org/maven/maven-3/'
# jfrog cli
- uses: jfrog/setup-jfrog-cli@v1
with:
version: 1.46.4
env:
JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
# setup frog cli
- name: Configure JFrog Cli
run: |
jfrog rt mvnc \
--server-id-resolve=repo.spring.io \
--server-id-deploy=repo.spring.io \
--repo-resolve-releases=libs-milestone \
--repo-resolve-snapshots=libs-snapshot \
--repo-deploy-releases=libs-release-local \
--repo-deploy-snapshots=libs-snapshot-local
echo JFROG_CLI_BUILD_NAME=spring-cloud-deployer-main >> $GITHUB_ENV
echo JFROG_CLI_BUILD_NUMBER=$GITHUB_RUN_NUMBER >> $GITHUB_ENV
# build and publish
- name: Build and Publish
run: |
jfrog rt mvn -U -B clean install -T 0.5C
jfrog rt build-publish
- name: Test Report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
with:
name: Unit Test - Report
path: '**/surefire-reports/*.xml'
reporter: java-junit
list-tests: 'failed'
- name: Capture Test Results
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: test-results
path: '**/target/surefire-reports/**/*.*'
retention-days: 7
if-no-files-found: ignore
# clean m2 cache
- name: Clean cache
run: |
find ~/.m2/repository -type d -name '*SNAPSHOT' | xargs rm -fr
- name: 'Built'
shell: bash
run: echo "::info ::Built"
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner in repo mode
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
ignore-unfixed: true
format: 'sarif'
output: 'trivy-results.sarif'
severity: 'CRITICAL,HIGH'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: 'trivy-results.sarif'
- name: 'Scanned'
shell: bash
run: echo "::info ::Scanned"
done:
runs-on: ubuntu-latest
needs: [ scan, build ]
steps:
- name: 'Done'
shell: bash
run: echo "::info ::Done"