Build from commit 5186eb76e1ee756fbda18b1a0d06c05bf3809fbb #43
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
run-name: Build from commit ${{ github.sha }} | |
on: | |
push: | |
branches: | |
- "**" | |
paths-ignore: | |
- "README.md" | |
permissions: | |
contents: write | |
jobs: | |
build: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
check-latest: true | |
java-version: | | |
11 | |
21 | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Setup Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest | |
- name: Cache konan directory | |
uses: actions/cache@v4 | |
with: | |
path: ~/.konan | |
key: ${{ runner.os }}-konan-${{ hashFiles('*.gradle.kts', 'buildSrc/*') }} | |
restore-keys: | | |
${{ runner.os }}-konan- | |
- name: Build using Gradle | |
run: ./gradlew assemble -x :testapp:assemble -x :dokka-vitepress-renderer:assemble -x :dokka-vitepress-renderer:multimodule:assemble | |
- name: Run tests (desktop) | |
run: ./gradlew desktopTest -x :testapp:desktopTest | |
- name: Run tests (wasmJs) | |
run: ./gradlew wasmJsTest -x :testapp:wasmJsTest | |
- name: Check for API changes | |
run: ./gradlew apiCheck | |
- name: Generate and save dependency graph | |
uses: gradle/actions/dependency-submission@v4 | |
with: | |
dependency-graph-exclude-projects: "^:testapp$" | |
- name: Prepare artifacts | |
run: | | |
mkdir build/artifacts | |
for buildDir in ./{core,glance}/build | |
do | |
if [ -d "$buildDir"/libs ] | |
then | |
for file in "$buildDir"/libs/* | |
do | |
filename="${file##*/}" | |
extension="${filename##*.}" | |
filename="${filename%.*}" | |
cp "$file" build/artifacts/"$filename"-"$(git rev-parse --short HEAD)"."$extension" | |
done | |
fi | |
if [ -d "$buildDir"/outputs/aar ] | |
then | |
for file in "$buildDir"/outputs/aar/* | |
do | |
filename="${file##*/}" | |
extension="${filename##*.}" | |
filename="${filename%.*}" | |
flavor="${filename##*-}" | |
filename="${filename%-*}" | |
version=$(grep -o "^VERSION_NAME=.*$" < gradle.properties | sed -E "s/VERSION_NAME=(.*)$/\\1/") | |
if [ "$flavor" = "release" ] | |
then | |
cp "$file" build/artifacts/"$filename"-android-"$version"-"$(git rev-parse --short HEAD)"."$extension" | |
fi | |
done | |
fi | |
done | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artifacts | |
path: build/artifacts |