Files
skiko/.github/workflows/publish-dry-run.yml
Ivan Matkov 548fed3914 Publish Docker Containers used on CI to GHCR (#1152)
Fixes [SKIKO-1081](https://youtrack.jetbrains.com/issue/SKIKO-1081) Make
docker images for building skiko publicly available

The Skiko project previously used a private Docker registry
(`registry.jetbrains.team/p/ui/skiko-docker`) for build containers,
which required secrets for authentication. This prevented CI
verification from fork PRs even after manual approval.

The change migrates to GitHub Container Registry (GHCR), making
containers publicly accessible and enabling CI to run on fork PRs.

Containers built:
https://github.com/orgs/JetBrains/packages?repo_name=skiko

Triggers:
- Push to master: Automatically builds and publishes all Docker images
- Pull requests: Builds images in dry-run mode (no publishing) for
verification
- Manual workflow dispatch: Option to publish or just build
- File changes: Triggers on changes to `skiko/docker/**` or the workflow
itself
2026-01-28 17:17:15 +01:00

136 lines
3.3 KiB
YAML

name: Skiko Publish Dry Run
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
jobs:
Android:
runs-on: ubuntu-24.04
container:
image: ghcr.io/jetbrains/skiko/linux-android-amd64:ubuntu-2004
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: ghcr.io/jetbrains/skiko/linux-emscripten-amd64:ubuntu-2004
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: ghcr.io/jetbrains/skiko/linux-amd64:ubuntu-2004
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