Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .editorconfig

This file was deleted.

10 changes: 9 additions & 1 deletion .github/workflows/broken_links_checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,21 @@ on:
schedule:
- cron: "0 5 * * *"
push:
branches:
- main
pull_request:

jobs:
linkChecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configure broken links checker
run: |
mkdir -p ./target
echo '{ "aliveStatusCodes": [429, 200] }' > ./target/broken_links_checker.json
- uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
use-quiet-mode: 'yes'
use-verbose-mode: 'yes'
use-verbose-mode: 'yes'
config-file: ./target/broken_links_checker.json
37 changes: 37 additions & 0 deletions .github/workflows/ci-build-next-java.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: CI Build next Java

on:
push:
branches:
- main
pull_request:

jobs:
java-17-compatibility:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 17
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Run tests and build with Maven
run: |
mvn --batch-mode --update-snapshots clean package -DtrimStackTrace=false \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
- name: Publish Test Report
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 }}
99 changes: 49 additions & 50 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,71 @@
name: CI Build

on:
- push
push:
branches:
- main
pull_request:

jobs:
build:
name: Building with Scala ${{ matrix.scala }}
name: Building with Scala ${{ matrix.scala-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
scala: [ 2.12.15, 2.13.6 ]

include:
- { scala-version: 'scala2.12', project-keeper-skip: true }
- { scala-version: 'scala2.13', project-keeper-skip: false }
steps:
- name: Checkout the Repository
- name: Checkout the repository
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Setup Java and Scala with JDK 11
uses: olafurpg/setup-scala@v10
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 11

- name: Cache Local SBT Dependencies
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: |
~/.sbt
~/.ivy2/cache
~/.coursier/cache/v1
~/.cache/coursier/v1
key: ${{ runner.os }}-sbt-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-sbt-cache-

- name: Check Formatting
run: sbt ++${{ matrix.scala }} scalafmtSbtCheck scalafmtCheckAll

- name: Run CI
run: ./scripts/ci.sh
env:
SCALA_VERSION: ${{ matrix.scala }}

- name: Upload Coverage Results to Coveralls
run: sbt ++${{ matrix.scala }} coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# This required because of the sonarcloud-github-action docker volume mapping.
- name: Prepare for Sonar Cloud Scan
if: startsWith(matrix.scala, '2.13')
${{ runner.os }}-maven-
- name: Cache SonarCloud packages
uses: actions/cache@v2
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Run scalafix linting
run: |
find . -name scoverage.xml -exec sed -i \
's#/home/runner/work/import-export-udf-common-scala/import-export-udf-common-scala#/github/workspace#g' {} +

- name: Sonar Cloud Scan
if: startsWith(matrix.scala, '2.13')
uses: sonarsource/sonarcloud-github-action@master
mvn --batch-mode clean compile test scalafix:scalafix \
-P${{ matrix.scala-version }} \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DtrimStackTrace=false
- name: Run tests and build with Maven
run: |
mvn --batch-mode verify \
-P${{ matrix.scala-version }} \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DtrimStackTrace=false \
-Dproject-keeper.skip=${{ matrix.project-keeper-skip }}
- name: Publish Test Report
uses: scacap/action-surefire-report@v1
if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' && startsWith(matrix.scala-version, 'scala2.13') }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Sonar analysis
if: ${{ env.SONAR_TOKEN != null && startsWith(matrix.scala-version, 'scala2.13') }}
run: |
mvn --batch-mode scoverage:report sonar:sonar \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DtrimStackTrace=false \
-Dsonar.organization=exasol \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.login=$SONAR_TOKEN
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

- name: Cleanup
run: |
rm -rf "$HOME/.ivy2/local" || true
find $HOME/Library/Caches/Coursier/v1 -name "ivydata-*.properties" -delete || true
find $HOME/.ivy2/cache -name "ivydata-*.properties" -delete || true
find $HOME/.cache/coursier/v1 -name "ivydata-*.properties" -delete || true
find $HOME/.coursier/cache -name "*.lock" -delete || true
find $HOME/.sbt -name "*.lock" -delete || true
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
26 changes: 26 additions & 0 deletions .github/workflows/dependencies_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Dependencies Check

on:
schedule:
- cron: "0 2 * * *"

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 11
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Checking dependencies for vulnerabilities
run: mvn org.sonatype.ossindex.maven:ossindex-maven-plugin:audit -f pom.xml
44 changes: 44 additions & 0 deletions .github/workflows/release_droid_prepare_original_checksum.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Release Droid - Prepare Original Checksum

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { scala-version: 'scala2.12', project-keeper-skip: true }
- { scala-version: 'scala2.13', project-keeper-skip: false }
steps:
- name: Checkout the repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 11
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Run tests and build with Maven for ${{ matrix.scala-version }}
run: |
mvn --batch-mode clean verify --file pom.xml \
-P${{ matrix.scala-version }} \
-Dproject-keeper.skip=${{ matrix.project-keeper-skip }}
- name: Prepare checksum
run: find target -maxdepth 1 -name *.jar -exec sha256sum "{}" + > original_checksum
- name: Upload checksum to the artifactory
uses: actions/upload-artifact@v2
with:
name: original_checksum
retention-days: 5
path: original_checksum
39 changes: 39 additions & 0 deletions .github/workflows/release_droid_print_quick_checksum.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Release Droid - Print Quick Checksum

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { scala-version: 'scala2.12', project-keeper-skip: true }
- { scala-version: 'scala2.13', project-keeper-skip: false }
steps:
- name: Checkout the repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 11
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build with Maven skipping tests for ${{ matrix.scala-version }}
run: |
mvn --batch-mode clean verify \
-P${{ matrix.scala-version }} \
-DskipTests \
-Dproject-keeper.skip=${{ matrix.project-keeper-skip }}
- name: Print checksum
run: echo 'checksum_start==';find target -maxdepth 1 -name *.jar -exec sha256sum "{}" + | xargs;echo '==checksum_end'
47 changes: 47 additions & 0 deletions .github/workflows/release_droid_release_on_maven_central.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Release Droid - Release On Maven Central

on:
workflow_dispatch:

jobs:
publish:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { scala-version: 'scala2.12', project-keeper-skip: true }
- { scala-version: 'scala2.13', project-keeper-skip: false }
steps:
- name: Checkout the repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Maven Central Repository
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 11
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Import GPG Key
run: gpg --import --batch <(echo "${{ secrets.OSSRH_GPG_SECRET_KEY }}")
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Publish to Central Repository for ${{ matrix.scala-version }}
run: |
mvn clean deploy \
-P${{ matrix.scala-version }} \
-Dgpg.skip=false \
-Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} \
-DskipTests \
-Dproject-keeper.skip=${{ matrix.project-keeper-skip }}
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
Loading