77 lines
2.6 KiB
YAML
77 lines
2.6 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
tags:
|
|
- '*'
|
|
jobs:
|
|
build:
|
|
runs-on: hostinger
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
- name: Setup Gradle
|
|
uses: gradle/actions/setup-gradle@v3
|
|
- name: Execute Gradle build
|
|
run: ./gradlew build
|
|
- name: Prepare Docker image build
|
|
run: ./gradlew prepareDockerBuild
|
|
- name: Get project version
|
|
id: retrieve-version
|
|
run: ./gradlew -q version >> "$GITHUB_OUTPUT"
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
with:
|
|
driver: docker-container
|
|
- name: Login to Gitea container registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: gitea.woggioni.net
|
|
username: woggioni
|
|
password: ${{ secrets.PUBLISHER_TOKEN }}
|
|
-
|
|
name: Build rbcs Docker image
|
|
uses: docker/build-push-action@v5.3.0
|
|
with:
|
|
context: "docker/build/docker"
|
|
platforms: linux/amd64,linux/arm64
|
|
push: true
|
|
pull: true
|
|
tags: |
|
|
gitea.woggioni.net/woggioni/rbcs:latest
|
|
gitea.woggioni.net/woggioni/rbcs:${{ steps.retrieve-version.outputs.VERSION }}
|
|
target: release
|
|
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/rbcs:buildx
|
|
-
|
|
name: Build rbcs memcache Docker image
|
|
uses: docker/build-push-action@v5.3.0
|
|
with:
|
|
context: "docker/build/docker"
|
|
platforms: linux/amd64,linux/arm64
|
|
push: true
|
|
pull: true
|
|
tags: |
|
|
gitea.woggioni.net/woggioni/rbcs:memcache
|
|
gitea.woggioni.net/woggioni/rbcs:memcache-${{ steps.retrieve-version.outputs.VERSION }}
|
|
target: release-memcache
|
|
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/rbcs:buildx
|
|
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/rbcs:buildx
|
|
-
|
|
name: Build rbcs memcache Docker image
|
|
uses: docker/build-push-action@v5.3.0
|
|
with:
|
|
context: "docker/build/docker"
|
|
platforms: linux/amd64
|
|
push: true
|
|
pull: true
|
|
tags: |
|
|
gitea.woggioni.net/woggioni/rbcs:native
|
|
gitea.woggioni.net/woggioni/rbcs:native-${{ steps.retrieve-version.outputs.VERSION }}
|
|
target: release-native
|
|
- name: Publish artifacts
|
|
env:
|
|
PUBLISHER_TOKEN: ${{ secrets.PUBLISHER_TOKEN }}
|
|
run: ./gradlew publish
|
|
|