mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-21 08:51:14 -03:00
These are supposed to be small, so we dump the redundant fish_indent and fish_key_reader - the fish binary can do those jobs too (both as builtins and if called via symlinks of that name). We still keep tarballs instead of just compressing so that we have a file called "fish" and not "fish-amd64-linux"
83 lines
2.6 KiB
YAML
83 lines
2.6 KiB
YAML
name: staticbuilds
|
|
|
|
on:
|
|
# release:
|
|
# types: [published]
|
|
# schedule:
|
|
# - cron: "14 13 * * *"
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
CTEST_PARALLEL_LEVEL: "1"
|
|
CMAKE_BUILD_PARALLEL_LEVEL: "4"
|
|
|
|
jobs:
|
|
staticbuilds-linux:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- uses: dtolnay/rust-toolchain@1.70
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Prepare
|
|
run: |
|
|
sudo apt install python3-sphinx
|
|
rustup target add x86_64-unknown-linux-musl
|
|
rustup target add aarch64-unknown-linux-musl
|
|
sudo apt install musl-tools crossbuild-essential-arm64 python3-pexpect tmux -y
|
|
- name: Build
|
|
run: |
|
|
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" CMAKE_WITH_GETTEXT=0 CC=aarch64-linux-gnu-gcc RUSTFLAGS="-C linker=aarch64-linux-gnu-gcc -C link-arg=-lgcc -C link-arg=-D_FORTIFY_SOURCE=0" cargo build --release --target aarch64-unknown-linux-musl --bin fish
|
|
cargo build --release --target x86_64-unknown-linux-musl --bin fish
|
|
- name: Test
|
|
run: |
|
|
test -e tests/test_driver.py && tests/test_driver.py -f /tmp target/x86_64-unknown-linux-musl/release/
|
|
- name: Compress
|
|
run: |
|
|
tar -cazf fish-amd64.tar.xz -C target/x86_64-unknown-linux-musl/release/ fish
|
|
tar -cazf fish-aarch64.tar.xz -C target/aarch64-unknown-linux-musl/release/ fish
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: fish-static-linux
|
|
path: |
|
|
fish-amd64.tar.xz
|
|
fish-aarch64.tar.xz
|
|
retention-days: 14
|
|
staticbuilds-macos:
|
|
|
|
runs-on: macos-latest
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- uses: dtolnay/rust-toolchain@1.70
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Prepare
|
|
run: |
|
|
sudo pip3 install --break-system-packages sphinx
|
|
rustup target add x86_64-apple-darwin
|
|
rustup target add aarch64-apple-darwin
|
|
- name: Build
|
|
run: |
|
|
PCRE2_SYS_STATIC=1 cargo build --release --target aarch64-apple-darwin --bin fish
|
|
PCRE2_SYS_STATIC=1 cargo build --release --target x86_64-apple-darwin --bin fish
|
|
- name: Compress
|
|
run: |
|
|
tar -cazf fish-macos-aarch64.tar.xz -C target/aarch64-apple-darwin/release/ fish
|
|
tar -cazf fish-macos-amd64.tar.xz -C target/x86_64-apple-darwin/release/ fish
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: fish-static-macos
|
|
path: |
|
|
fish-macos-amd64.tar.xz
|
|
fish-macos-aarch64.tar.xz
|
|
retention-days: 14
|