Skip to content

chore: Clean up find uses and refactor policy plugin loading (#20) #95

chore: Clean up find uses and refactor policy plugin loading (#20)

chore: Clean up find uses and refactor policy plugin loading (#20) #95

Workflow file for this run

name: Check
on:
workflow_dispatch:
pull_request:
branches: [ "main" ]
push:
branches: [ "main" ]
paths-ignore:
- '*.md'
- '*/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
include:
- os: macos-latest
TEST_TASK: macosArm64Test
- os: windows-latest
TEST_TASK: mingwX64Test
- os: ubuntu-latest
TEST_TASK: check
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.os != 'ubuntu-latest' }}
timeout-minutes: 20
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup gradle
uses: gradle/actions/setup-gradle@v4
- name: Check
run: ./gradlew ${{matrix.TEST_TASK}} --stacktrace --no-configuration-cache
- name: Upload SARIF files
if: (success() || failure()) && matrix.os == 'ubuntu-latest'
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: build/reports/detekt/merged.sarif
- name: Test publication
run: ./gradlew publishToMavenLocal --stacktrace --no-configuration-cache
if: matrix.os == 'ubuntu-latest' && github.event_name != 'pull_request'
env:
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MAVEN_CENTRAL_SIGNING_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY_PASSWORD }}
- name: Test DEB build
run: |
./gradlew :cli:buildAllDebs --stacktrace --no-configuration-cache
sudo dpkg -i cli/build/distributions/*_amd64.deb
caupain --version
if: matrix.os == 'ubuntu-latest' && github.event_name != 'pull_request'
- name: Upload ARM64 DEB
uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-latest' && github.event_name != 'pull_request'
with:
name: caupain-arm64-deb
retention-days: 1
path: cli/build/distributions/*_arm64.deb
- name: Test Choco build
run: |
./gradlew :cli:buildChoco --stacktrace --no-configuration-cache
cd cli\build\distributions\chocolatey
choco pack
choco install caupain --debug --verbose --source .
caupain --version
if: matrix.os == 'windows-latest' && github.event_name != 'pull_request'
- name: Upload reports
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: check-results-${{ matrix.os }}
path: '*/build/test-results/**/TEST-*.xml'
test-arm64-deb:
runs-on: ubuntu-24.04-arm
needs: test
if: github.event_name != 'pull_request'
steps:
- name: Download ARM64 DEB
uses: actions/download-artifact@v4
with:
name: caupain-arm64-deb
- name: Install ARM64 DEB
run: |
sudo dpkg -i *_arm64.deb
caupain --version
merge-reports:
runs-on: ubuntu-latest
needs: test
if: success() || failure()
steps:
- name: Merge artifacts
uses: actions/upload-artifact/merge@v4
with:
name: check-results
pattern: 'check-results-*'
delete-merged: true
test-report:
runs-on: ubuntu-latest
needs: merge-reports
if: success() || failure()
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: check-results
- name: Publish test annotations
uses: mikepenz/action-junit-report@v5
with:
report_paths: '*/build/test-results/**/TEST-*.xml'
annotate_only: true
env:
GRADLE_OPTS: -Dorg.gradle.configureondemand=true -Dkotlin.incremental=false -Dorg.gradle.project.kotlin.incremental.multiplatform=false -Dorg.gradle.project.kotlin.native.disableCompilerDaemon=true -Dorg.gradle.jvmargs="-Xmx12g -Dfile.encoding=UTF-8"