Skip to content

Commit

Permalink
fix build release ci, use rustls in favor of openssl
Browse files Browse the repository at this point in the history
  • Loading branch information
spencerwooo committed Nov 27, 2023
1 parent 7f59746 commit 64b4f51
Show file tree
Hide file tree
Showing 3 changed files with 144 additions and 212 deletions.
96 changes: 62 additions & 34 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,68 +4,96 @@ on:
workflow_dispatch:
push:
tags:
- "*"
- 'v[0-9]+.[0-9]+.[0-9]+'

permissions:
actions: read
contents: write

jobs:
build:
name: Build and publish release
runs-on: ubuntu-latest
name: Release for ${{ matrix.target }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}

# Prevent job from running on forks
if: ${{ !github.event.repository.fork }}

strategy:
fail-fast: false
matrix:
target:
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
- aarch64-unknown-linux-gnu
- aarch64-unknown-linux-musl
- x86_64-pc-windows-msvc
- i686-pc-windows-msvc
- x86_64-apple-darwin
- aarch64-apple-darwin

include:
- target: x86_64-unknown-linux-gnu
name: bitsrun-x86_64-unknown-linux-gnu.tar.gz
os: ubuntu-22.04
cross: false
strip: true
- target: x86_64-unknown-linux-musl
name: bitsrun-x86_64-unknown-linux-musl.tar.gz
os: ubuntu-22.04
cross: true
strip: true
- target: i686-unknown-linux-gnu
name: bitsrun-i686-unknown-linux-gnu.tar.gz
cross: true
strip: true
- target: i686-unknown-linux-musl
name: bitsrun-i686-unknown-linux-musl.tar.gz
cross: true
strip: true
- target: aarch64-unknown-linux-gnu
name: bitsrun-aarch64-unknown-linux-gnu.tar.gz
os: ubuntu-22.04
cross: true
strip: false
- target: aarch64-unknown-linux-musl
name: bitsrun-aarch64-unknown-linux-musl.tar.gz
os: ubuntu-22.04
cross: true
strip: false
- target: x86_64-pc-windows-msvc
os: windows-latest
cross: false
- target: i686-pc-windows-msvc
os: windows-latest
cross: false
- target: x86_64-apple-darwin
os: macos-latest
cross: false
- target: aarch64-apple-darwin
os: macos-latest
cross: false

env:
BIN_NAME: bitsrun
CARGO_BUILD_TARGET: ${{ matrix.target }}
ARCHIVE_NAME: bitsrun-${{ matrix.target }}

steps:
- uses: actions/checkout@master
- uses: dtolnay/rust-toolchain@stable

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
target: ${{ matrix.target }}
target: ${{ env.CARGO_BUILD_TARGET }}

- name: Build binaries
uses: ClementTsang/[email protected]
with:
command: build
args: --release --target=${{ matrix.target }}
args: --release --target=${{ env.CARGO_BUILD_TARGET }}
use-cross: ${{ matrix.cross }}

- name: Strip binaries
run: strip target/${{ matrix.target }}/release/bitsrun
if: ${{ matrix.strip }}

- name: Package binaries
- name: Package binary archives
run: |
cd target/${{ matrix.target }}/release
tar -czvf ${{ matrix.name }} bitsrun
cd -
mkdir "${{ env.ARCHIVE_NAME }}"
case '${{ matrix.target }}' in
*-windows-*)
cp target/${{ env.CARGO_BUILD_TARGET }}/release/${{ env.BIN_NAME }}.exe "${{ env.ARCHIVE_NAME }}"
zip "${{ env.ARCHIVE_NAME }}.zip" "${{ env.ARCHIVE_NAME }}"/*;;
*)
cp target/${{ env.CARGO_BUILD_TARGET }}/release/${{ env.BIN_NAME }} "${{ env.ARCHIVE_NAME }}"
chmod ugo+x "${{ env.ARCHIVE_NAME }}/${{ env.BIN_NAME }}"
tar -vczf "${{ env.ARCHIVE_NAME }}.tar.gz" "${{ env.ARCHIVE_NAME }}"/*;;
esac
- name: Upload binaries to release
- name: Upload binary for release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: target/${{ matrix.target }}/release/${{ matrix.name }}
asset_name: ${{ matrix.name }}
file: ${{ env.ARCHIVE_NAME }}${{ endsWith(env.CARGO_BUILD_TARGET, '-windows-msvc') && '.zip' || '.tar.gz'}}
asset_name: ${{env.ARCHIVE_NAME}}-${{ github.ref_name }}-${{ endsWith(env.CARGO_BUILD_TARGET, '-windows-msvc') && '.zip' || '.tar.gz'}}
tag: ${{ github.ref }}
Loading

0 comments on commit 64b4f51

Please sign in to comment.