Skip to content

More tests

More tests #77

Workflow file for this run

name: build
on:
pull_request:
paths-ignore:
- '**/*.md'
push:
branches:
- 'main'
paths-ignore:
- '**/*.md'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
env:
CI: true
TERM: dumb
GRADLE_OPTS: >-
-Dorg.gradle.jvmargs="-Xmx1G -XX:MaxMetaspaceSize=768M -XX:SoftRefLRUPolicyMSPerMB=10 -XX:+UseParallelGC"
-Dorg.gradle.workers.max=2
-Dorg.gradle.parallel=false
-Dorg.gradle.dependency.verification.console=verbose
KOTLIN_DAEMON_JVMARGS: >-
-Xmx512M -XX:MaxMetaspaceSize=320M -XX:SoftRefLRUPolicyMSPerMB=10 -XX:+UseParallelGC -XX:NewRatio=1
permissions:
checks: write
pull-requests: write
jobs:
assemble:
name: Assemble, run tests
runs-on: ubuntu-latest
timeout-minutes: 60
if: ${{ !contains(github.event.head_commit.message, '[ci skip]') }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
dependency-graph: generate
- name: Assemble debug build, run tests
env:
ORG_GRADLE_PROJECT_disableSigning: true
run: >
./gradlew -Pkotlin.daemon.jvmargs="${{ env.KOTLIN_DAEMON_JVMARGS }}"
build publishAllPublicationsToTestRepository --stacktrace --scan
- name: Build samples
env:
ORG_GRADLE_PROJECT_disableSigning: true
run: >
./gradlew -Pkotlin.daemon.jvmargs="${{ env.KOTLIN_DAEMON_JVMARGS }}"
-p samples build --stacktrace --scan
- name: Publish test results
uses: EnricoMi/publish-unit-test-result-action@v2
if: ${{ !cancelled() && (github.actor != 'dependabot[bot]') }}
with:
comment_mode: off
junit_files: '**/build/test-results/**/*.xml'
check_name: "Test results"
- name: Bundle the test reports
if: failure()
run: >
find . \(
-name .idea -o -path '*build/intermediates' -o -path '*build/.transforms' -o -path '*build/generated'
\) -prune -o
-type d -name 'reports' -print0
| xargs -0 tar -c -I 'zstd -19 -T0' -f test-reports.tar.zst
- name: Bundle local plugin repository
run: >
tar -c -I 'zstd -19 -T0' -f local-plugin-repository.tar.zst build/local-plugin-repository
- name: Upload test reports
uses: actions/upload-artifact@v3
if: failure()
with:
name: test-reports
path: test-reports.tar.zst
- name: Upload local plugin repository
uses: actions/upload-artifact@v3
with:
name: local-plugin-repository
path: local-plugin-repository.tar.zst
static-analysis:
name: Style check
runs-on: ubuntu-latest
permissions:
security-events: write
timeout-minutes: 60
if: >-
!contains(github.event.head_commit.message, '[ci skip]')
&& github.actor != 'dependabot[bot]'
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
dependency-graph: generate
- name: Run static code analyzers
run: >
./gradlew -Pkotlin.daemon.jvmargs="${{ env.KOTLIN_DAEMON_JVMARGS }}"
styleCheck --continue
- name: Uploads .sarif files to GitHub
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: ./build/reports/detekt/report.sarif
category: detekt
- name: Bundle the build report
if: ${{ !cancelled() }}
run: >
tar -c -I 'zstd -19 -T0' -f lint-outputs.tar.zst build/reports
- name: Upload lint outputs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v3
with:
name: lint-outputs
path: lint-outputs.tar.zst