Skip to content

partial upgrade

partial upgrade #477

Workflow file for this run

name: Build
on:
push:
branches: [ '*' ]
tags: [ '*' ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build-macos:
name: Build macOS Native Libraries
strategy:
matrix:
include:
- os: macos-26 # Apple Silicon runner
classifier: macos-arm64
- os: macos-15-intel # Intel runner
classifier: macos-x86_64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-tags: 'true'
fetch-depth: '0'
submodules: recursive
- name: Set up JDK 11
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
with:
java-version: '11'
distribution: 'temurin'
cache: gradle
- name: Install dependencies
run: |
brew update
brew uninstall cmake
brew install cmake conan
conan --version
- name: Setup Gradle
uses: gradle/actions/setup-gradle@5e2ebd065dc2488b7a6ad670704656cbbe1e8f60 # v6
- name: Verify architecture
run: |
echo "Running on: $(uname -m)"
echo "Classifier: ${{ matrix.classifier }}"
- name: Build native library for host
run: ./gradlew check compileNativeForHost
- name: Upload artifacts
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: libdatachannel-${{ matrix.classifier }}
path: |
build/dockcross/host/native/libdatachannel-java.dylib
retention-days: 30
if-no-files-found: error
build:
needs: build-macos
runs-on: ubuntu-latest
environment: ${{ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') ) && 'sonatype-central' || null }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
fetch-tags: 'true'
fetch-depth: '0'
submodules: recursive
- name: Install Conan
uses: conan-io/setup-conan@ed3942a6883243f4af84e13e49c972f9440fa1c2 # v1
- name: Set up JDK
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
with:
java-version: '25'
distribution: 'temurin'
cache: gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@5e2ebd065dc2488b7a6ad670704656cbbe1e8f60 # v6
- name: Download macOS ARM64 artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: libdatachannel-macos-arm64
path: artifacts/macos-arm64/
- name: Download macOS x86_64 artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: libdatachannel-macos-x86_64
path: artifacts/macos-x86_64/
- name: Build
run: |
prebuilts=(
-Plibdatachannel.macos-arm64.prebuilt-path=artifacts/macos-arm64/libdatachannel-java.dylib
-Plibdatachannel.macos-x86_64.prebuilt-path=artifacts/macos-x86_64/libdatachannel-java.dylib
)
./gradlew --no-configuration-cache :githubActions "${prebuilts[@]}"
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_mavenCentralSnapshotsUsername: ${{ secrets.SONATYPE_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralSnapshotsPassword: ${{ secrets.SONATYPE_PASSWORD }}
MAVEN_CENTRAL_PORTAL_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
MAVEN_CENTRAL_PORTAL_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}