btrfs-progs: ci: build static versions as artifacts

Build static binaries (published as artifacts):

- btrfs.static - the main tool
- btrfs.box.static - all-in-one tool (functionality selected by file name)

There are a few problems:

- unstable URL, i.e. not one location to get the binaries from, multiple
  steps need on web or by using API

- downloaded files are in .zip (compression cannot be disabled with
  upload-artifact@v3)

- permissions of the file inside .zip are lost, manual chmod needed
  after extraction

- artifacts can be downloaded only for logged users

Issue: #593
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2023-04-13 16:33:19 +02:00
parent ce5061d2e5
commit 16126bcff6
1 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,34 @@
# 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:
- release-test
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 static
- name: Make box.static
run: make V=1 btrfs.box.static
- name: Strip binaries
run: strip btrfs.static btrfs.box.static
- name: Save artifacts - btrfs.static
uses: actions/upload-artifact@v3
with:
name: btrfs.static
path: btrfs.static
- name: Save artifacts - btrfs.box.static
uses: actions/upload-artifact@v3
with:
name: btrfs.box.static
path: btrfs.box.static