Skip to content

#46 Update dependencies #115

#46 Update dependencies

#46 Update dependencies #115

Workflow file for this run

name: CI Build
on:
push:
branches: ["main"]
pull_request:
jobs:
matrix-build:
runs-on: ubuntu-20.04
defaults:
run:
shell: "bash"
permissions:
contents: read
checks: write # Allow scacap/action-surefire-report
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.exasol_db_version }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
exasol_db_version: ["8.24.0", "7.1.25"]
env:
DEFAULT_EXASOL_DB_VERSION: "8.24.0"
steps:
- name: Checkout the repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDKs
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: |
11
17
cache: "maven"
- name: Cache SonarCloud packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Enable testcontainer reuse
run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties"
- name: Write ADLSG2 accountkey file
run: |
echo "$ACCOUNTKEY" > accountkey.txt
env:
ACCOUNTKEY: ${{ secrets.ACCOUNTKEY }}
- name: Write ADLSG2 accountname file
run: |
echo "$ACCOUNTNAME" > accountname.txt
env:
ACCOUNTNAME: ${{ secrets.ACCOUNTNAME }}
- name: Run tests and build with Maven
id: pk-verify
run: |
mvn --batch-mode clean verify \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DtrimStackTrace=false \
-Dcom.exasol.dockerdb.image=${{ matrix.exasol_db_version }}
- name: Publish Test Report for Exasol ${{ matrix.exasol_db_version }}
uses: scacap/action-surefire-report@v1
if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Sonar analysis
if: ${{ env.SONAR_TOKEN != null && matrix.exasol_db_version == env.DEFAULT_EXASOL_DB_VERSION }}
run: |
mvn --batch-mode org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DtrimStackTrace=false \
-Dsonar.token=$SONAR_TOKEN
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Verify Release Artifacts
run: |
print_message() {
local -r message=$1
echo "$message"
echo "$message" >> "$GITHUB_STEP_SUMMARY"
}
print_message "# Release Artifacts"
IFS=$'\n' artifacts_array=($ARTIFACTS)
missing_files=()
for file in "${artifacts_array[@]}";
do
echo "Checking if file $file exists..."
if ! [[ -f "$file" ]]; then
print_message "* ⚠️ \`$file\` does not exist ⚠️"
echo "Content of directory $(dirname "$file"):"
ls "$(dirname "$file")"
missing_files+=("$file")
else
print_message "* \`$file\` ✅"
fi
done
print_message ""
number_of_missing_files=${#missing_files[@]}
if [[ $number_of_missing_files -gt 0 ]]; then
print_message "⚠️ $number_of_missing_files release artifact(s) missing ⚠️"
exit 1
else
print_message "All ${#artifacts_array[@]} artifact(s) present ✅"
fi
env:
ARTIFACTS: ${{ steps.pk-verify.outputs.release-artifacts }}
build:
needs: matrix-build
runs-on: ubuntu-latest
steps:
- run: echo "Build successful"
start_release:
needs: build
if: ${{ github.ref == 'refs/heads/main' }}
concurrency:
cancel-in-progress: false
group: "release"
secrets: inherit
permissions:
contents: write
actions: read
uses: ./.github/workflows/release.yml
with:
started-from-ci: true