name: Build and publish
on:
push:
tags: ['v*']
jobs:
build-and-publish-to-crates-io:
name: Build and publish to crates.io
runs-on: macos-latest
steps:
- uses: actions/checkout@master
- name: Login to crates.io
run: cargo login ${{ secrets.CRATES_IO_TOKEN }}
- name: Publish to crates.io
run: ./.github/scripts/publish_crates.sh
build-and-publish-release:
name: Build and publish Github release
runs-on: ${{ matrix.os }}
if: false
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
binary_target: x86_64-unknown-linux-musl
- os: windows-latest
binary_target: x86_64-pc-windows-msvc
- os: macos-latest
binary_target: x86_64-apple-darwin
- os: macos-latest
binary_target: aarch64-apple-darwin
steps:
- uses: actions/checkout@master
- name: Build binary
env:
RELEASE_FLOW_TARGET: ${{ matrix.binary_target }}
run: ./.github/scripts/crossbundle_release.sh
- name: Upload zip file
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: '*.zip'
tag: ${{ github.ref }}
overwrite: true
file_glob: true
build-and-publish-to-maven:
name: Build and publish to Github Maven Registry
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: adopt
java-version: 11
- name: Install gradle
uses: gradle/gradle-build-action@v2
with:
distribution: temurin
gradle-version: 7.4
- name: Build and publish crossbow library
env:
TOKEN: ${{ secrets.GH_CROSSBOW_PUBLISH_TOKEN }}
run: |
cd ./platform/android/java/lib
gradle build
USERNAME=dodorare gradle publish
- name: Build and publish Crossbow AdMob library
env:
TOKEN: ${{ secrets.GH_CROSSBOW_PUBLISH_TOKEN }}
run: |
cd ./plugins/admob-android/android
gradle build
USERNAME=dodorare gradle publish
- name: Build and publish Crossbow Play Games Services library
env:
TOKEN: ${{ secrets.GH_CROSSBOW_PUBLISH_TOKEN }}
run: |
cd ./plugins/play-games-services/android
gradle build
USERNAME=dodorare gradle publish
- name: Build and publish Crossbow Play Billing library
env:
TOKEN: ${{ secrets.GH_CROSSBOW_PUBLISH_TOKEN }}
run: |
cd ./plugins/play-billing/android
gradle build
USERNAME=dodorare gradle publish
- name: Build and publish Crossbow Play Core library
env:
TOKEN: ${{ secrets.GH_CROSSBOW_PUBLISH_TOKEN }}
run: |
cd ./plugins/play-core/android
gradle build
USERNAME=dodorare gradle publish