Skip to content

[Build] Fix weird import #302

[Build] Fix weird import

[Build] Fix weird import #302

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# GitHub recommends pinning actions to a commit SHA.
# To get a newer version, you will need to update the SHA.
# You can also reference a tag or branch, but the action may change without warning.
name: Java CI
on:
push:
paths:
- src/**
- buildSrc/**
- .github/**
- build.gradle.kts
- settings.gradle.kts
tags:
- '**'
branches:
- 'develop'
pull_request:
paths:
- src/**
- buildSrc/**
- .github/**
- build.gradle.kts
- settings.gradle.kts
branches:
- '**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK 23
uses: actions/setup-java@v4
with:
java-version: '23'
distribution: 'temurin'
cache: 'gradle'
- name: Export branch name
uses: mad9000/actions-find-and-replace-string@5
id: branch_name
with:
source: ${{ github.ref_name }}
find: '/'
replace: '-'
- name: Log in to Docker Hub to pull images without rate limit
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Log into GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: 8.10.2
- name: Build JVM OCI image
run: ./gradlew jib -Djib.serialize=true # https://github.com/GoogleContainerTools/jib/issues/4301
env:
USERNAME: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build Native OCI Image
run: ./gradlew bootBuildImage --publishImage --imagePlatform linux/amd64
env:
USERNAME: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
TARGET_PLATFORM: "amd64"
- name: Setup QEMU for ARM64 OCI Image
uses: docker/setup-qemu-action@v3
with:
platforms: 'all'
- name: Set up Docker Buildx for ARM64 OCI Image
uses: docker/setup-buildx-action@v3
with:
install: true
platforms: 'linux/amd64,linux/arm64'
- name: Build Native ARM64 OCI Image
run: ./gradlew bootBuildImage --publishImage --imagePlatform linux/arm64
env:
USERNAME: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
TARGET_PLATFORM: "arm64"
- name: Combine native images into single manifest
uses: int128/docker-manifest-create-action@v2
with:
push: true
tags: |
ghcr.io/schaka/janitorr:native-${{ steps.branch_name.outputs.value }}
${{ (startsWith(github.ref, 'refs/tags/v') && 'ghcr.io/schaka/janitorr:native-stable') || '' }}
sources: |
ghcr.io/schaka/janitorr:native-amd64-${{ steps.branch_name.outputs.value }}
ghcr.io/schaka/janitorr:native-arm64-${{ steps.branch_name.outputs.value }}