Skip to content

Build

Build #83

Workflow file for this run

name: 'Build'
on:
schedule:
- cron: '37 04,16 * * *'
workflow_dispatch:
defaults:
run:
shell: "bash"
env:
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false"
RUNNING_ON_CI: "true"
LC_ALL: C.UTF-8
LANG: C.UTF-8
VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/.vcpkg-cache,readwrite
# ASSEMBLE_ONLY: "true"
jobs:
macos:
name: Build on macOS
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout
uses: actions/checkout@v4
with:
repository: ensody/vcpkg
path: vcpkg
fetch-depth: 0
- name: Cache Packages
id: cache-vcpkg
uses: actions/cache@v4
with:
path: |
.vcpkg-cache
vcpkg/buildtrees
vcpkg/downloads
key: ${{ runner.os }}-${{ runner.arch }}
- name: Setup vcpkg
run: |
cd vcpkg
git config user.name "$(git log -1 --pretty=format:'%an')"
git config user.email "$(git log -1 --pretty=format:'%ae')"
git remote add base https://github.com/microsoft/vcpkg
git fetch base master
git rebase base/master
./bootstrap-vcpkg.sh -disableMetrics
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Install JDK
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
cache: gradle
check-latest: true
- name: Build
run: ./gradlew --no-daemon assembleAll
- name: Publish package
run: ./gradlew --no-daemon publishToMavenCentral
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.PUBLICATION_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.PUBLICATION_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY_RING }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
- name: Bundle the build report
if: failure()
run: find . -type d -name 'reports' | zip -@ -r build-report.zip
- name: Upload the build report
if: failure()
uses: actions/upload-artifact@master
with:
name: build-report
path: build-report.zip
windows:
name: Build on Windows
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout
uses: actions/checkout@v4
with:
repository: ensody/vcpkg
path: vcpkg
fetch-depth: 0
- name: Cache Packages
id: cache-vcpkg
uses: actions/cache@v4
with:
path: |
.vcpkg-cache
vcpkg/buildtrees
vcpkg/downloads
key: ${{ runner.os }}-${{ runner.arch }}
- name: Setup vcpkg
run: |
cd vcpkg
git config user.name "$(git log -1 --pretty=format:'%an')"
git config user.email "$(git log -1 --pretty=format:'%ae')"
git remote add base https://github.com/microsoft/vcpkg
git fetch base master
git rebase base/master
./bootstrap-vcpkg.sh -disableMetrics
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Install JDK
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
cache: gradle
check-latest: true
- name: Build
run: ./gradlew --no-daemon assembleAll
- name: Publish package
run: ./gradlew --no-daemon publishToMavenCentral
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.PUBLICATION_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.PUBLICATION_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY_RING }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
- name: Bundle the build report
if: failure()
run: find . -type d -name 'reports' | zip -@ -r build-report.zip
- name: Upload the build report
if: failure()
uses: actions/upload-artifact@master
with:
name: build-report
path: build-report.zip
linux:
name: Build on Linux
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout
uses: actions/checkout@v4
with:
repository: ensody/vcpkg
path: vcpkg
fetch-depth: 0
- name: Cache Packages
id: cache-vcpkg
uses: actions/cache@v4
with:
path: |
.vcpkg-cache
vcpkg/buildtrees
vcpkg/downloads
key: ${{ runner.os }}-${{ runner.arch }}
- name: Install build tools
env:
DEBIAN_FRONTEND: noninteractive
TZ: Etc/UTC
run: |
sudo apt-get update
sudo apt-get install -y git build-essential crossbuild-essential-arm64 pkg-config curl zip unzip tar
- name: Setup vcpkg
run: |
cd vcpkg
git config user.name "$(git log -1 --pretty=format:'%an')"
git config user.email "$(git log -1 --pretty=format:'%ae')"
git remote add base https://github.com/microsoft/vcpkg
git fetch base master
git rebase base/master
./bootstrap-vcpkg.sh -disableMetrics
- name: Install emsdk
run: |
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Install JDK
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
cache: gradle
check-latest: true
- name: Build
run: |
source ./emsdk/emsdk_env.sh
./gradlew --no-daemon assembleAll
- name: Publish package
run: ./gradlew --no-daemon publishToMavenCentral
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.PUBLICATION_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.PUBLICATION_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY_RING }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
- name: Bundle the build report
if: failure()
run: find . -type d -name 'reports' | zip -@ -r build-report.zip
- name: Upload the build report
if: failure()
uses: actions/upload-artifact@master
with:
name: build-report
path: build-report.zip
# aggregate:
# runs-on: ubuntu-latest
# needs:
# - macos
# - linux
# - windows
# env:
# ASSEMBLE_ONLY: "false"
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Validate Gradle Wrapper
# uses: gradle/actions/wrapper-validation@v4
# - name: Install JDK
# uses: actions/setup-java@v4
# with:
# java-version: "17"
# distribution: "temurin"
# cache: gradle
# check-latest: true
# - name: Download all build artifacts
# uses: actions/download-artifact@v4
# with:
# pattern: "artifacts-*"
# path: "build/nativebuilds"
# merge-multiple: true
# - name: Publish package
# run: ./gradlew --no-daemon publishToMavenCentral
# env:
# ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.PUBLICATION_USERNAME }}
# ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.PUBLICATION_PASSWORD }}
# ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
# ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY_RING }}
# ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
# - name: Bundle the build report
# if: failure()
# run: find . -type d -name 'reports' | zip -@ -r build-report.zip
# - name: Upload the build report
# if: failure()
# uses: actions/upload-artifact@master
# with:
# name: build-report
# path: build-report.zip