mirror of
https://github.com/veeso/termscp.git
synced 2025-12-06 17:15:35 -08:00
84 lines
2.4 KiB
YAML
84 lines
2.4 KiB
YAML
name: "Build artifacts"
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
TERMSCP_VERSION: "0.19.0"
|
|
|
|
jobs:
|
|
build-binaries:
|
|
name: Build - ${{ matrix.platform.release_for }}
|
|
strategy:
|
|
matrix:
|
|
platform:
|
|
- release_for: MacOS-x86_64
|
|
os: macos-latest
|
|
target: x86_64-apple-darwin
|
|
script: macos.sh
|
|
|
|
- release_for: MacOS-M1
|
|
os: macos-latest
|
|
target: aarch64-apple-darwin
|
|
script: macos.sh
|
|
|
|
runs-on: ${{ matrix.platform.os }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
targets: ${{ matrix.platform.target }}
|
|
- name: Install dependencies
|
|
run: |
|
|
brew update
|
|
brew install \
|
|
bison \
|
|
cpanminus \
|
|
cups \
|
|
flex \
|
|
gettext \
|
|
gmp \
|
|
gnutls \
|
|
icu4c \
|
|
jansson \
|
|
libarchive \
|
|
libbsd \
|
|
libunistring \
|
|
libgit2 \
|
|
libtirpc \
|
|
openldap \
|
|
pkg-config \
|
|
zlib
|
|
brew link --force bison
|
|
brew link --force cups
|
|
brew link --force flex
|
|
brew link --force gettext
|
|
brew link --force gmp
|
|
brew link --force gnutls
|
|
brew link --force icu4c
|
|
brew link --force jansson
|
|
brew link --force libarchive
|
|
brew link --force libbsd
|
|
brew link --force libgit2
|
|
brew link --force libtirpc
|
|
brew link --force libunistring
|
|
brew link --force openldap
|
|
brew link --force zlib
|
|
cpanm Parse::Yapp::Driver
|
|
- name: Build release
|
|
run: cargo build --release --features smb-vendored --target ${{ matrix.platform.target }}
|
|
- name: Prepare artifact files
|
|
run: |
|
|
mkdir -p .artifact
|
|
mv target/${{ matrix.platform.target }}/release/termscp .artifact/termscp
|
|
tar -czf .artifact/termscp-v${{ env.TERMSCP_VERSION }}-${{ matrix.platform.target }}.tar.gz -C .artifact termscp
|
|
ls -l .artifact/
|
|
- name: "Upload artifact"
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
if-no-files-found: error
|
|
retention-days: 1
|
|
name: termscp-${{ matrix.platform.target }}
|
|
path: .artifact/termscp-v${{ env.TERMSCP_VERSION }}-${{ matrix.platform.target }}.tar.gz
|