Skip to content

fix(deps): update all non-major dependencies #155

fix(deps): update all non-major dependencies

fix(deps): update all non-major dependencies #155

Workflow file for this run

name: Build Project
on:
push:
branches: [ master, ver/* ]
pull_request:
branches: [ master, ver/* ]
workflow_dispatch:
jobs:
setup:
runs-on: macos-latest
timeout-minutes: 30
name: Gradle Setup
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: gradle/actions/wrapper-validation@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Konan
uses: actions/cache@v4
with:
path: |
~/.konan/caches
~/.konan/dependencies
~/.konan/kotlin-native-prebuilt-macos-*
key: ${{ runner.os }}-konan
restore-keys: |
${{ runner.os }}-konan
- name: Change Permissions
run: chmod +x ./gradlew
- name: Gradle Information
run: ./gradlew project tasks dependencies
build:
runs-on: ${{ matrix.os }}
needs: setup
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
include:
- name: macos-x64
os: macos-13
- name: macos-arm64
os: macos-15
- name: windows-x64
os: windows-2025
- name: linux-x64
os: ubuntu-22.04
name: Build Project / ${{ matrix.name }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Konan
uses: actions/cache@v4
with:
path: |
~/.konan/caches
~/.konan/dependencies
~/.konan/kotlin-native-prebuilt-*
key: ${{ runner.os }}-konan
restore-keys: |
${{ runner.os }}-konan
- name: Change Permissions
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew assemble
- name: Archive Build Artifacts
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: build-artifact-${{ matrix.name }}-${{ github.sha }}
path: |
core/build/bin/
core/build/libs/
cli/build/bin/
overwrite: true
- name: Stop Gradle Daemon
run: ./gradlew --stop
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 120
needs: setup
permissions:
checks: write
pull-requests: write
strategy:
fail-fast: false
matrix:
include:
- name: macos-x64
os: macos-13
- name: macos-arm64
os: macos-15
- name: windows-x64
os: windows-2025
- name: linux-x64
os: ubuntu-22.04
name: Test Project / ${{ matrix.name }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Konan
uses: actions/cache@v4
with:
path: |
~/.konan/caches
~/.konan/dependencies
~/.konan/kotlin-native-prebuilt-*
key: ${{ runner.os }}-konan
restore-keys: |
${{ runner.os }}-konan
- name: Install Chrome
id: setup-chrome
uses: browser-actions/setup-chrome@v1
- name: Set Chrome Path
run: |
echo "CHROME_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> $GITHUB_ENV
echo "CHROMIUM_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> $GITHUB_ENV
- name: Install Firefox
id: setup-firefox
uses: browser-actions/setup-firefox@v1
- name: Set Firefox Path
run: |
echo "FIREFOX_BIN=${{ steps.setup-firefox.outputs.firefox-path }}" >> $GITHUB_ENV
echo "MOZ_HEADLESS=1" >> $GITHUB_ENV
- name: Change Permissions
run: chmod +x ./gradlew
- name: Gradle Test
run: ./gradlew allTests globalJvmJacocoTestReport
- name: Archive Test Reports
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: test-report-${{ matrix.name }}-${{ github.sha }}
path: "*/build/reports/tests/"
- name: Collect JaCoCo Report
if: ${{ github.event_name != 'pull_request' }}
id: jacoco_reporter
uses: PavanMudigonda/[email protected]
with:
coverage_results_path: build/jacoco.xml
coverage_report_name: Code Coverage (${{ matrix.name }})
github_token: ${{ secrets.GITHUB_TOKEN }}
skip_check_run: false
minimum_coverage: 85
fail_below_threshold: false
publish_only_summary: false
- name: Print JaCoCo Report
if: ${{ github.event_name != 'pull_request' }}
run: |
echo "| Outcome | Value |" >> $GITHUB_STEP_SUMMARY
echo "| --- | --- |" >> $GITHUB_STEP_SUMMARY
echo "| Code Coverage % | ${{ steps.jacoco_reporter.outputs.coverage_percentage }} |" >> $GITHUB_STEP_SUMMARY
echo "| :heavy_check_mark: Number of Lines Covered | ${{ steps.jacoco_reporter.outputs.covered_lines }} |" >> $GITHUB_STEP_SUMMARY
echo "| :x: Number of Lines Missed | ${{ steps.jacoco_reporter.outputs.missed_lines }} |" >> $GITHUB_STEP_SUMMARY
echo "| Total Number of Lines | ${{ steps.jacoco_reporter.outputs.total_lines }} |" >> $GITHUB_STEP_SUMMARY
- name: Upload Code Coverage Artifacts (Push)
if: ${{ github.event_name != 'pull_request' }}
uses: actions/upload-artifact@v4
with:
name: coverage-report-${{ matrix.name }}-${{ github.sha }}
path: "*/coverage-results.md"
- name: Upload Code Coverage Artifacts (Pull Request)
if: ${{ github.event_name == 'pull_request' }}
uses: madrapps/[email protected]
with:
paths: build/jacoco.xml
token: ${{ secrets.GITHUB_TOKEN }}
pass-emoji: βœ…
min-coverage-overall: 85
min-coverage-changed-files: 90
deploy:
runs-on: ubuntu-latest
needs: [build, test]
name: Deploy Dokka
if: ${{ github.event_name != 'pull_request' && github.ref_name == 'master' }}
timeout-minutes: 120
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Change Permissions
run: chmod +x ./gradlew
- name: Build Dokka
run: ./gradlew clean dokkaGeneratePublicationHtml
- name: Deploy Dokka
run: bash dokka.sh ${GITHUB_SHA::7}
publish:
runs-on: macos-latest
needs: build
name: Publish to Repository
if: ${{ github.event_name != 'pull_request' && github.ref_name == 'master' }}
timeout-minutes: 120
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- name: Set up Konan
uses: actions/cache@v4
with:
path: |
~/.konan/caches
~/.konan/dependencies
~/.konan/kotlin-native-prebuilt-macos-*
key: ${{ runner.os }}-konan
restore-keys: |
${{ runner.os }}-konan
- name: Change Permissions
run: chmod +x ./gradlew
- name: Publish to Calculus Games
env:
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}
run: ./gradlew publishAllPublicationsToCalculusGamesRepository -Psnapshot=true
- name: Publish to GitHub Packages
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}
run: ./gradlew publishAllPublicationsToGitHubPackagesRepository -Psuffix=${GITHUB_SHA::7}
upload:
runs-on: ubuntu-latest
needs: build
name: Upload Build Artifacts
if: ${{ github.event_name != 'pull_request' }}
timeout-minutes: 120
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'
- name: Build JS Distribution
run: ./gradlew clean jsBrowserDistribution -Psnapshot=true
- name: Upload to R2 Bucket
uses: ryand56/r2-upload-action@latest
with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
r2-bucket: ${{ vars.R2_BUCKET }}
source-dir: core/build/dist/js/productionExecutable
destination-dir: lib/kasciffy