1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
name: C/C++ CI
on:
workflow_dispatch:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
dynamic_build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install packages
run: |
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
sudo apt-get update
sudo apt-get build-dep partclone
sudo apt-get install build-essential autoconf automake autotools-dev libtool libtool-bin gettext intltool pkg-config
sudo apt-get install f2fs-tools hfsprogs exfatprogs gddrescue reiser4progs libxxhash-dev libisal-dev
- name: automake
run: ./autogen
- name: configure
run: ./configure --enable-fs-test --enable-feature-test --enable-extfs --enable-ntfs --enable-fat --enable-exfat --enable-hfsp --enable-apfs --enable-btrfs --enable-minix --enable-f2fs --enable-reiser4 --enable-xfs --enable-xxhash --enable-isal
- name: make
run: make
- name: makeTest
run: make check
- name: Verify build
run: |
file src/partclone.extfs
ldd src/partclone.extfs
nm src/partclone.extfs | grep " T main"
if file src/partclone.extfs | grep -q "statically linked"; then
echo "Error: Binary is statically linked but expected dynamic."
exit 1
fi
static_build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install packages
run: |
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
sudo apt-get update
sudo apt-get build-dep partclone
sudo apt-get install f2fs-tools hfsprogs exfatprogs gddrescue reiser4progs libxxhash-dev libisal-dev
- name: automake
run: ./autogen
- name: configure
run: ./configure --enable-fs-test --enable-feature-test --enable-extfs --enable-ntfs --enable-fat --enable-exfat --enable-hfsp --enable-apfs --enable-btrfs --enable-minix --enable-f2fs --enable-reiser4 --enable-xfs --enable-xxhash --enable-isal --enable-static-linking
- name: make
run: make
- name: makeTest
run: make check
- name: Verify build
run: |
file src/partclone.extfs
ldd src/partclone.extfs || true
nm src/partclone.extfs | grep " T main"
if ! file src/partclone.extfs | grep -q "statically linked"; then
echo "Error: Binary is not statically linked but expected static."
exit 1
fi
dynamic_build_disable_xxhash:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install packages
run: |
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
sudo apt-get update
sudo apt-get build-dep partclone
sudo apt-get install build-essential autoconf automake autotools-dev libtool libtool-bin gettext intltool pkg-config
sudo apt-get install f2fs-tools hfsprogs exfatprogs gddrescue reiser4progs libisal-dev
- name: automake
run: ./autogen
- name: configure
run: ./configure --disable-xxhash --enable-fs-test --enable-feature-test --enable-extfs --enable-ntfs --enable-fat --enable-exfat --enable-hfsp --enable-apfs --enable-btrfs --enable-minix --enable-f2fs --enable-reiser4 --enable-xfs --enable-isal
- name: make
run: make
- name: makeTest
run: make check
- name: Verify build
run: |
file src/partclone.extfs
ldd src/partclone.extfs
nm src/partclone.extfs | grep " T main"
if file src/partclone.extfs | grep -q "statically linked"; then
echo "Error: Binary is statically linked but expected dynamic."
exit 1
fi
static_build_disable_xxhash:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install packages
run: |
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
sudo apt-get update
sudo apt-get build-dep partclone
sudo apt-get install f2fs-tools hfsprogs exfatprogs gddrescue reiser4progs libisal-dev
- name: automake
run: ./autogen
- name: configure
run: ./configure --disable-xxhash --enable-fs-test --enable-feature-test --enable-extfs --enable-ntfs --enable-fat --enable-exfat --enable-hfsp --enable-apfs --enable-btrfs --enable-minix --enable-f2fs --enable-reiser4 --enable-xfs --enable-isal --enable-static-linking
- name: make
run: make
- name: makeTest
run: make check
- name: Verify build
run: |
file src/partclone.extfs
ldd src/partclone.extfs || true
nm src/partclone.extfs | grep " T main"
if ! file src/partclone.extfs | grep -q "statically linked"; then
echo "Error: Binary is not statically linked but expected static."
exit 1
fi
|