Files
Ivan MatkovandVladislav.Ertel 49fea5b98f Fix glibc compatibility (#1130)
[SKIKO-1066](https://youtrack.jetbrains.com/issue/SKIKO-1066) Support
glibc 2.27
[CMP-9307](https://youtrack.jetbrains.com/issue/CMP-9307) Support glibc
2.27

- Added `linux-compat` docker image based on #1123. It works on both x64
and arm64 architectures
- `multistrap` tool was replaced by installing required packages inside
`linux-compat` and `linux-amd64` docker images
- `linux-arm64` uses GCC instead of clang (aligning between
distributions)
- GitHub checks now use precompiled docker images to reuse the same
environment
- `ci.yml` and `web.yml` were combined into `tests.yml`
- `publishToMavenLocal` checks are moved to `publish-dry-run.yml`
- Add building an Android sample as part of CI checks

---------

Co-authored-by: Vladislav.Ertel <vladislav.ertel@jetbrains.com>
2025-11-21 12:56:13 +01:00

145 lines
3.8 KiB
YAML

name: Skiko Publish Dry Run
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
jobs:
Android:
runs-on: ubuntu-24.04
container:
image: registry.jetbrains.team/p/ui/skiko-docker/skiko-build-linux-android-amd64:ubuntu-2004
credentials:
username: ${{ secrets.SPACE_DOCKER_REGISTRY_USER }}
password: ${{ secrets.SPACE_DOCKER_REGISTRY_TOKEN }}
steps:
- uses: actions/checkout@v3
name: 'Check out code'
- uses: ./.github/actions/setup-prerequisites
name: 'Setup Prerequisites'
- shell: bash
name: 'Publish Maven Local'
run: |
./gradlew --no-daemon --stacktrace \
-Pskiko.android.enabled=true \
:skiko:publishToMavenLocal
- shell: bash
name: 'Check Android Sample'
working-directory: samples/SkiaAndroidSample
run: |
./gradlew --no-daemon --stacktrace \
packageRelease
Web:
runs-on: ubuntu-24.04
container:
image: registry.jetbrains.team/p/ui/skiko-docker/skiko-build-linux-emscripten-amd64:ubuntu-2004
credentials:
username: ${{ secrets.SPACE_DOCKER_REGISTRY_USER }}
password: ${{ secrets.SPACE_DOCKER_REGISTRY_TOKEN }}
steps:
- uses: actions/checkout@v3
name: 'Check out code'
- uses: ./.github/actions/setup-prerequisites
name: 'Setup Prerequisites'
- shell: bash
name: 'Publish Maven Local'
run: |
./gradlew --no-daemon --stacktrace \
-Pskiko.wasm.enabled=true \
:skiko:publishToMavenLocal
Linux:
runs-on: ubuntu-24.04
container:
image: registry.jetbrains.team/p/ui/skiko-docker/skiko-build-linux-amd64:ubuntu-2004
credentials:
username: ${{ secrets.SPACE_DOCKER_REGISTRY_USER }}
password: ${{ secrets.SPACE_DOCKER_REGISTRY_TOKEN }}
steps:
- uses: actions/checkout@v3
name: 'Check out code'
- uses: ./.github/actions/setup-prerequisites
name: 'Setup Prerequisites'
- shell: bash
name: 'Publish Maven Local'
run: |
./gradlew --no-daemon --stacktrace \
-Pskiko.native.enabled=true \
:skiko:publishToMavenLocal
- shell: bash
name: 'Check AWT Sample'
run: |
./gradlew --no-daemon --stacktrace \
:SkiaAwtSample:installDist
macOS:
runs-on: macos-15
steps:
- uses: actions/checkout@v3
name: 'Check out code'
- uses: actions/setup-java@v4
name: 'Setup JDK 21'
with:
java-version: '21'
distribution: 'corretto'
- uses: ./.github/actions/setup-prerequisites
name: 'Setup Prerequisites'
- shell: bash
name: 'Publish Maven Local'
run: |
./gradlew --no-daemon --stacktrace \
-Pskiko.native.enabled=true \
:skiko:publishToMavenLocal
- shell: bash
name: 'Check AWT Sample'
run: |
./gradlew --no-daemon --stacktrace \
:SkiaAwtSample:installDist
Windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
name: 'Check out code'
- uses: microsoft/setup-msbuild@v1
- uses: ilammy/msvc-dev-cmd@v1
- uses: actions/setup-java@v4
name: 'Setup JDK 21'
with:
java-version: '21'
distribution: 'corretto'
- uses: ./.github/actions/setup-prerequisites
name: 'Setup Prerequisites'
- shell: bash
name: 'Publish Maven Local'
run: |
./gradlew --no-daemon --stacktrace \
-Pskiko.native.enabled=true \
:skiko:publishToMavenLocal
- shell: bash
name: 'Check AWT Sample'
run: |
./gradlew --no-daemon --stacktrace \
:SkiaAwtSample:installDist