mirror of
https://github.com/ProvableHQ/leo.git
synced 2024-12-20 08:41:34 +03:00
3c3543f6c6
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
244 lines
7.0 KiB
YAML
244 lines
7.0 KiB
YAML
name: Leo Release
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*.*.*'
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
RUST_BACKTRACE: 1
|
|
|
|
jobs:
|
|
ubuntu:
|
|
name: Ubuntu
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt
|
|
|
|
- name: Build Leo
|
|
run: |
|
|
cargo build --package leo-lang --release --features noconfig && strip target/release/leo
|
|
env:
|
|
CARGO_NET_GIT_FETCH_WITH_CLI: true
|
|
|
|
- id: get_version
|
|
uses: battila7/get-version-action@v2
|
|
|
|
- name: Zip
|
|
run: |
|
|
mkdir tempdir
|
|
mv target/release/leo tempdir
|
|
cd tempdir
|
|
zip -r leo-${{ steps.get_version.outputs.version }}-x86_64-unknown-linux-gnu.zip leo
|
|
cd ..
|
|
mv tempdir/leo-${{ steps.get_version.outputs.version }}-x86_64-unknown-linux-gnu.zip .
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
leo-${{ steps.get_version.outputs.version }}-x86_64-unknown-linux-gnu.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
linux-musl:
|
|
name: Linux musl
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt
|
|
target: x86_64-unknown-linux-musl
|
|
default: stable-x86_64-unknown-linux-musl
|
|
|
|
- name: Build
|
|
run: |
|
|
docker pull clux/muslrust:stable
|
|
docker run -v cargo-cache:/root/.cargo/registry -v $PWD:/volume --rm -t clux/muslrust:stable cargo build --target x86_64-unknown-linux-musl --package leo-lang --release --features noconfig && ldd target/x86_64-unknown-linux-musl/release/leo
|
|
- id: get_version
|
|
uses: battila7/get-version-action@v2
|
|
|
|
- name: Zip
|
|
run: |
|
|
mkdir tempdir
|
|
cp target/x86_64-unknown-linux-musl/release/leo tempdir
|
|
strip tempdir/leo
|
|
cd tempdir
|
|
zip -r leo-${{ steps.get_version.outputs.version }}-x86_64-unknown-linux-musl.zip leo
|
|
cd ..
|
|
mv tempdir/leo-${{ steps.get_version.outputs.version }}-x86_64-unknown-linux-musl.zip .
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
leo-${{ steps.get_version.outputs.version }}-x86_64-unknown-linux-musl.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
macos:
|
|
name: macOS
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt
|
|
|
|
- name: Build Leo
|
|
run: |
|
|
cargo build --package leo-lang --release && strip target/release/leo
|
|
env:
|
|
CARGO_NET_GIT_FETCH_WITH_CLI: true
|
|
|
|
- id: get_version
|
|
uses: battila7/get-version-action@v2
|
|
|
|
- name: Zip
|
|
run: |
|
|
mkdir tempdir
|
|
mv target/release/leo tempdir
|
|
cd tempdir
|
|
zip -r leo-${{ steps.get_version.outputs.version }}-x86_64-apple-darwin.zip leo
|
|
cd ..
|
|
mv tempdir/leo-${{ steps.get_version.outputs.version }}-x86_64-apple-darwin.zip .
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
leo-${{ steps.get_version.outputs.version }}-x86_64-apple-darwin.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
macos_m1:
|
|
name: macOS M1
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Xcode Select
|
|
uses: maxim-lobanov/setup-xcode@v1
|
|
with:
|
|
xcode-version: latest-stable
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
target: aarch64-apple-darwin
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt
|
|
|
|
- name: Build Leo
|
|
run: |
|
|
SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path) \
|
|
MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version) \
|
|
cargo build -p leo-lang --release --target=aarch64-apple-darwin --features noconfig && strip target/aarch64-apple-darwin/release/leo
|
|
env:
|
|
CARGO_NET_GIT_FETCH_WITH_CLI: true
|
|
|
|
- id: get_version
|
|
uses: battila7/get-version-action@v2
|
|
|
|
- name: Zip
|
|
run: |
|
|
mkdir tempdir
|
|
mv target/aarch64-apple-darwin/release/leo tempdir
|
|
cd tempdir
|
|
zip -r leo.zip leo
|
|
cp leo.zip leo-${{ steps.get_version.outputs.version }}-aarch64-apple-darwin.zip
|
|
cd ..
|
|
mv tempdir/leo-${{ steps.get_version.outputs.version }}-aarch64-apple-darwin.zip .
|
|
mv tempdir/leo.zip .
|
|
|
|
- name: Release macos m1 version
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
leo-${{ steps.get_version.outputs.version }}-aarch64-apple-darwin.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Release leo.zip
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
leo.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
windows:
|
|
name: Windows
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt
|
|
|
|
- name: Install LLVM and Clang
|
|
uses: KyleMayes/install-llvm-action@v1
|
|
with:
|
|
version: "11"
|
|
directory: ${{ runner.temp }}/llvm
|
|
|
|
- name: Set LIBCLANG_PATH
|
|
run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV
|
|
|
|
- name: Build Leo
|
|
run: |
|
|
cargo build --package leo-lang --release --features noconfig
|
|
env:
|
|
CARGO_NET_GIT_FETCH_WITH_CLI: true
|
|
|
|
- id: get_version
|
|
uses: battila7/get-version-action@v2
|
|
|
|
- name: Zip
|
|
run: |
|
|
Compress-Archive target/release/leo.exe leo-${{ steps.get_version.outputs.version }}-x86_64-pc-windows-msvc.zip
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
leo-${{ steps.get_version.outputs.version }}-x86_64-pc-windows-msvc.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|