CI checks for builds; Deb and Web build Docker container #6
6 changed files with 156 additions and 0 deletions
15
.woodpecker/android-build.yml
Normal file
15
.woodpecker/android-build.yml
Normal file
|
@ -0,0 +1,15 @@
|
|||
when:
|
||||
event: push
|
||||
branch: [ dockerBuild, master ]
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: gradle:8.10.2-jdk17
|
||||
environment:
|
||||
ANDROID_HOME: /sdk
|
||||
commands:
|
||||
- apt update && apt install -y sdkmanager openjdk-11-jdk
|
||||
- sdkmanager "tools" && yes | sdkmanager --licenses
|
||||
#More info
|
||||
# https://developer.android.com/build/building-cmdline
|
||||
- gradle assembleDebug
|
16
.woodpecker/deb-build.yml
Normal file
16
.woodpecker/deb-build.yml
Normal file
|
@ -0,0 +1,16 @@
|
|||
when:
|
||||
event: push
|
||||
branch: [ dockerBuild, master ]
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: gradle:8.10.2-jdk17
|
||||
environment:
|
||||
ANDROID_HOME: /sdk
|
||||
commands:
|
||||
- apt update && apt install -y sdkmanager openjdk-11-jdk
|
||||
- sdkmanager "tools" && yes | sdkmanager --licenses
|
||||
- gradle buildDeb
|
||||
|
||||
depends_on:
|
||||
- android-build
|
60
.woodpecker/release-packaging.yml
Normal file
60
.woodpecker/release-packaging.yml
Normal file
|
@ -0,0 +1,60 @@
|
|||
when:
|
||||
- event: tag
|
||||
ref: ref/tags/0.0.*
|
||||
|
||||
steps:
|
||||
- name: build-releases
|
||||
image: gradle:8.10.2-jdk17
|
||||
environment:
|
||||
ANDROID_HOME: /sdk
|
||||
KEYSTORE_FILE:
|
||||
from_secret: keystore_file
|
||||
TEST_ENV:
|
||||
from_secret: test_secret
|
||||
KEYSTORE_PASSWORD:
|
||||
from_secret: keystore_password
|
||||
KEY_ALIAS:
|
||||
from_secret: key_alias
|
||||
KEY_PASSWORD:
|
||||
from_secret: key_password
|
||||
commands:
|
||||
- apt update && apt install -y sdkmanager openjdk-11-jdk
|
||||
- sdkmanager "tools" && yes | sdkmanager --licenses
|
||||
- gradle clean
|
||||
- echo "$TEST_ENV"
|
||||
- echo "$KEYSTORE_FILE" | base64 -d > keystore.jks
|
||||
# Package Release Deb currently fails on local
|
||||
- gradle buildDeb
|
||||
- gradle assembleRelease -Pandroid.injected.signing.store.file=$(pwd)/keystore.jks -Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD
|
||||
- name: publish-packages
|
||||
image: woodpeckerci/plugin-release
|
||||
settings:
|
||||
files:
|
||||
- androidApp/build/outputs/apk/release/androidApp-release.apk
|
||||
- desktopApp/build/compose/binaries/main/deb/bakers-menagerie_*.deb
|
||||
checksum:
|
||||
- androidApp/build/outputs/apk/release/androidApp-release.apk
|
||||
- desktopApp/build/compose/binaries/main/deb/bakers-menagerie_*.deb
|
||||
target: master
|
||||
draft: true
|
||||
overwrite: true
|
||||
generate-release-notes: true
|
||||
api_key:
|
||||
from_secret: ci_access_token
|
||||
- name: publish-container
|
||||
image: woodpeckerci/plugin-kaniko
|
||||
repo: git.blizzard.systems/Menagerie/Menagerie_Cookbook
|
||||
username:
|
||||
from_secret: ci_username
|
||||
password:
|
||||
from_secret: ci_access_token
|
||||
registry: git.blizzard.systems
|
||||
dockerfile: Dockerfile.web-serve
|
||||
auto-tag: true
|
||||
cache: true
|
||||
|
||||
depends_on:
|
||||
- android-build
|
||||
- deb-build
|
||||
- web-build
|
||||
|
9
.woodpecker/web-build.yml
Normal file
9
.woodpecker/web-build.yml
Normal file
|
@ -0,0 +1,9 @@
|
|||
when:
|
||||
event: push
|
||||
branch: [ dockerBuild, master ]
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: gradle:8.10.2-jdk21
|
||||
commands:
|
||||
- gradle wasmJsBrowserDistribution
|
29
Dockerfile.dpkg-build
Normal file
29
Dockerfile.dpkg-build
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Original build used JVM 21.0.3
|
||||
# Gradle version 8.10.2
|
||||
|
||||
### For RPM Builds, need to implement Nebula RPM plugin; see https://plugins.gradle.org/plugin/com.netflix.nebula.rpm
|
||||
FROM gradle:8.10.2-jdk21 AS cache
|
||||
RUN apt update && apt install -y sdkmanager openjdk-11-jdk
|
||||
RUN sdkmanager "tools"
|
||||
RUN yes | sdkmanager --licenses
|
||||
RUN mkdir -p /src
|
||||
ENV GRADLE_USER_HOME=/home/gradle/cache_home
|
||||
COPY gradle /src/gradle
|
||||
COPY build.gradle.kts gradle.properties settings.gradle.kts /src/.
|
||||
COPY androidApp/build.gradle.kts /src/androidApp/.
|
||||
COPY automotiveApp/build.gradle.kts /src/automotiveApp/.
|
||||
COPY desktopApp/build.gradle.kts /src/desktopApp/.
|
||||
COPY shared/build.gradle.kts /src/shared/.
|
||||
COPY tvApp/build.gradle.kts /src/tvApp/.
|
||||
COPY webApp/build.gradle.kts /src/webApp/.
|
||||
WORKDIR /src
|
||||
RUN ls -lahR
|
||||
RUN gradle -q javaToolchains
|
||||
RUN gradle buildEnvironment --refresh-dependencies
|
||||
|
||||
FROM gradle:8.10.2-jdk21 AS build
|
||||
WORKDIR /src
|
||||
COPY --from=cache /home/gradle/cache_home /home/gradle/.
|
||||
COPY --chown=gradle:gradle . /src/.
|
||||
RUN gradle clean
|
||||
RUN gradle packageReleaseDeb
|
27
Dockerfile.web-serve
Normal file
27
Dockerfile.web-serve
Normal file
|
@ -0,0 +1,27 @@
|
|||
# Original build used JVM 21.0.3
|
||||
# Gradle version 8.10.2
|
||||
FROM gradle:8.10.2-jdk21 AS cache
|
||||
RUN apt update && apt install -y sdkmanager openjdk-11-jdk
|
||||
RUN sdkmanager "tools"
|
||||
RUN yes | sdkmanager --licenses
|
||||
RUN mkdir -p /src
|
||||
ENV GRADLE_USER_HOME=/home/gradle/cache_home
|
||||
COPY gradle /src/gradle
|
||||
COPY build.gradle.kts gradle.properties settings.gradle.kts /src/.
|
||||
COPY androidApp/build.gradle.kts /src/androidApp/.
|
||||
COPY automotiveApp/build.gradle.kts /src/automotiveApp/.
|
||||
COPY desktopApp/build.gradle.kts /src/desktopApp/.
|
||||
COPY shared/build.gradle.kts /src/shared/.
|
||||
COPY tvApp/build.gradle.kts /src/tvApp/.
|
||||
COPY webApp/build.gradle.kts /src/webApp/.
|
||||
WORKDIR /src
|
||||
RUN gradle buildEnvironment --refresh-dependencies
|
||||
|
||||
FROM gradle:8.10.2-jdk21 AS build
|
||||
WORKDIR /src
|
||||
COPY --from=cache /home/gradle/cache_home /home/gradle/.
|
||||
COPY --chown=gradle:gradle . /src/.
|
||||
RUN gradle clean && gradle wasmJsBrowserDistribution
|
||||
|
||||
FROM nginx:latest
|
||||
COPY --from=build /src/webApp/build/dist/wasmJs/productionExecutable /usr/share/nginx/html
|
Loading…
Add table
Add a link
Reference in a new issue