btrfs-progs/.github/workflows/artifacts-static-build.yml
David Sterba d0bf814100 btrfs-progs: ci: build static binaries only for latest release
The release-test branch is used for pre-release checks so don't pollute
the workflows list with unverified builds. The static build checks will
be done within the other workflows but no binaries need to be published.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-09-13 19:43:26 +02:00

49 lines
1.7 KiB
YAML

# Build static binaries (published as artifacts)
# - btrfs.static - the main tool
# - btrfs.box.static - all-in-one tool (functionality selected by file name)
name: Static binaries
run-name: Static binaries
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: sudo apt-get install -y pkg-config gcc liblzo2-dev libzstd-dev libblkid-dev uuid-dev zlib1g-dev libext2fs-dev e2fsprogs libudev-dev python3-sphinx libaio-dev liburing-dev
- name: Configure
run: ./autogen.sh && ./configure
- name: Make static
run: make V=1 EXTRA_CFLAGS='-march=x86-64' static
- name: Make box.static
run: make V=1 EXTRA_CFLAGS='-march=x86-64' btrfs.box.static
- name: Strip binaries
run: strip btrfs.static btrfs.box.static
- name: Calculate SHA256 checksums
run: |
sha256sum btrfs.static | tee btrfs.static.sha256
sha256sum btrfs.box.static | tee btrfs.box.static.sha256
- name: Save artifacts - btrfs.static
uses: actions/upload-artifact@v3
with:
name: btrfs.static
path: btrfs.static
- name: Save artifacts - btrfs.static.sha256
uses: actions/upload-artifact@v3
with:
name: btrfs.static.sha256
path: btrfs.static.sha256
- name: Save artifacts - btrfs.box.static
uses: actions/upload-artifact@v3
with:
name: btrfs.box.static
path: btrfs.box.static
- name: Save artifacts - btrfs.box.static.sha256
uses: actions/upload-artifact@v3
with:
name: btrfs.box.static.sha256
path: btrfs.box.static.sha256