Merge pull request #233 from raynigon/dependabot/github_actions/softp… #531
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI - Main | |
on: | |
push: | |
branches: [ ] | |
jobs: | |
build: | |
name: "Test" | |
runs-on: ubuntu-latest | |
container: ghcr.io/osgeo/gdal:ubuntu-full-3.8.5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Install Dependencies" | |
run: | | |
apt-get update | |
apt-get install -y --no-install-recommends unrar | |
- name: Gradle Command - test | |
run: "./gradlew clean test" | |
- name: Codacy Publish | |
uses: codacy/codacy-coverage-reporter-action@master | |
if: github.actor != 'dependabot[bot]' | |
with: | |
project-token: ${{ secrets.CODACY_TOKEN }} | |
static_analysis: | |
name: "Static Code Analysis" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4.2.1 | |
with: | |
java-version: 17 | |
distribution: adopt | |
- name: "Setup gradle" | |
uses: gradle/actions/setup-gradle@v3.3.2 | |
- name: Kotlin Linter | |
run: "./gradlew ktlintCheck" | |
- name: Checkstyle Linter | |
run: "./gradlew checkstyleMain" | |
- name: PMD Linter | |
run: "./gradlew pmdMain" | |
- uses: jwgmeligmeyling/checkstyle-github-action@master | |
with: | |
path: '**/checkstyle/main.xml' | |
- name: Run Codacy Analysis CLI | |
uses: codacy/codacy-analysis-cli-action@master | |
if: github.actor != 'dependabot[bot]' | |
with: | |
tool: spotbugs | |
project-token: ${{ secrets.CODACY_TOKEN }} | |
upload: true | |
max-allowed-issues: 2147483647 | |
docker: | |
name: "Build Docker Image" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4.2.1 | |
with: | |
java-version: 17 | |
distribution: adopt | |
- name: "Setup gradle" | |
uses: gradle/actions/setup-gradle@v3.3.2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
registry: "ghcr.io" | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Gradle Command - jibDockerBuild | |
run: "./gradlew jibDockerBuild -x check" | |
- name: Test Docker Image | |
run: ".github/scripts/test-docker-image.sh" | |
timeout-minutes: 2 | |
dokka: | |
name: "Code Documentation" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4.2.1 | |
with: | |
java-version: 17 | |
distribution: adopt | |
- name: "Setup gradle" | |
uses: gradle/actions/setup-gradle@v3.3.2 | |
- name: Generate javadoc | |
run: "./gradlew dokkaHtml" | |
- name: Upload Dokka | |
uses: sebastianpopp/ftp-action@releases/v2 | |
if: github.ref == 'refs/heads/main' || contains(github.ref, 'refs/tags/') | |
with: | |
host: ${{ secrets.WEBSPACE_HOST }} | |
user: ${{ secrets.WEBSPACE_USER }} | |
password: ${{ secrets.WEBSPACE_PASSWORD }} | |
localDir: "build/dokka/html/" | |
remoteDir: "dokka/" | |
documentation: | |
name: "User Documentation" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.8' | |
- run: pip3 install -r requirements.txt | |
- run: mkdocs build -d build/site/ | |
- name: Upload documentation | |
uses: sebastianpopp/ftp-action@releases/v2 | |
if: github.ref == 'refs/heads/main' || contains(github.ref, 'refs/tags/') | |
with: | |
host: ${{ secrets.WEBSPACE_HOST }} | |
user: ${{ secrets.WEBSPACE_USER }} | |
password: ${{ secrets.WEBSPACE_PASSWORD }} | |
localDir: "build/site/" | |
remoteDir: "." | |
deployment_linting: | |
name: "Deployment Linting" | |
runs-on: ubuntu-latest | |
concurrency: | |
group: "linting-k8s-${{ github.ref }}" | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Register Matchers" | |
run: echo "::add-matcher::.github/matchers/kube-linter.json" | |
- name: Scan yamls | |
id: kube-lint-scan | |
uses: stackrox/kube-linter-action@v1 | |
with: | |
directory: deployment/k8s/ | |
# config: .kube-linter/config.yaml |