name: Leo Release on: push: tags: - 'v*.*.*' 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: devbotsxyz/xcode-select@v1.1.0 - 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-${{ steps.get_version.outputs.version }}-aarch64-apple-darwin.zip leo cd .. mv tempdir/leo-${{ steps.get_version.outputs.version }}-aarch64-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 }}-aarch64-apple-darwin.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 }}