Skip to content

.github/workflows/release.yaml #3

.github/workflows/release.yaml

.github/workflows/release.yaml #3

Workflow file for this run

name: release
on: [workflow_dispatch]
env:
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false"
ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL: 60
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
arch: [amd64]
cmake-arch: [x86_64]
include:
# - os: macos-latest-large
# arch: x86_64
# cmake-arch: x86_64
- os: macos-latest
arch: aarch64
cmake-arch: arm64
# TODO: build on 'windows-latest'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 20
- name: Build native library (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
cp -a . ../zipline-dockerbuild
docker run \
--volume `pwd`/../zipline-dockerbuild:/zipline \
amd64/centos:7 \
/zipline/.github/workflows/build-linux-amd64.sh
mkdir -p zipline/src/jvmMain/resources/jni/amd64
cp -v ../zipline-dockerbuild/build/jni/amd64/libquickjs.* zipline/src/jvmMain/resources/jni/amd64/
- name: Build native library (macOS)
run: ./.github/workflows/build-mac.sh -a ${{ matrix.arch }} -c ${{ matrix.cmake-arch }}
- name: Install libtinfo5
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install -y libtinfo5
- name: Build Zipline
run: ./gradlew build --stacktrace
- uses: actions/upload-artifact@v4
with:
name: jvm-native-libraries-${{ matrix.os }}-${{ matrix.arch }}
path: zipline/src/jvmMain/resources/*
if-no-files-found: error
publish:
runs-on: macos-latest
needs:
- build
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 20
- uses: actions/download-artifact@v4
with:
pattern: jvm-native-libraries-*
path: zipline/src/jvmMain/resources
merge-multiple: true
# - run: ./gradlew assemble :dokkaHtmlMultiModule
- run: ./gradlew publish
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.NEXUS_ACTIONS_SONATYPE_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.NEXUS_ACTIONS_SONATYPE_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.NEXUS_ACTIONS_GPG_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.NEXUS_ACTIONS_GPG_PRIVATE_PASSWORD }}
# - uses: ffurrer2/extract-release-notes@v2
# id: release_notes
# - uses: softprops/action-gh-release@v2
# with:
# body: ${{ steps.release_notes.outputs.release_notes }}
# files: |
# zipline-cli/build/distributions/zipline-cli-*.zip
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#
# - name: Deploy docs to website
# if: ${{ github.repository == 'cashapp/zipline' }}
# uses: JamesIves/github-pages-deploy-action@releases/v3
# with:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# BRANCH: site
# FOLDER: build/dokka/htmlMultiModule/
# TARGET_FOLDER: docs/0.x/
# CLEAN: true