2727 - arch : x86_64
2828 gcc : /usr/bin/x86_64-linux-gnu-gcc
2929 packages : gcc-x86-64-linux-gnu
30-
30+ outputs :
31+ size-aarch64-basic : ${{ steps.basic.outputs.size_aarch64 }}
32+ size-aarch64-full : ${{ steps.full.outputs.size_aarch64 }}
33+ size-arm-basic : ${{ steps.basic.outputs.size_arm }}
34+ size-arm-full : ${{ steps.full.outputs.size_arm }}
35+ size-mips-basic : ${{ steps.basic.outputs.size_mips }}
36+ size-mips-full : ${{ steps.full.outputs.size_mips }}
37+ size-x86_64-basic : ${{ steps.basic.outputs.size_x86_64 }}
38+ size-x86_64-full : ${{ steps.full.outputs.size_x86_64 }}
3139 steps :
3240 - name : Checkout uci
3341 uses : actions/checkout@v5
5664 working-directory : depends/json-c
5765 run : |
5866 cmake \
59- -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} \
6067 -DCMAKE_C_COMPILER=${{ matrix.gcc }} \
6168 -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build \
6269 -DBUILD_SHARED_LIBS=OFF -DDISABLE_EXTRA_LIBS=ON \
7986 working-directory : depends/libubox
8087 run : |
8188 cmake \
82- -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} \
8389 -DCMAKE_C_COMPILER=${{ matrix.gcc }} \
8490 -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build \
8591 -DBUILD_LUA=ON -DBUILD_EXAMPLES=OFF \
@@ -88,23 +94,59 @@ jobs:
8894 make
8995 make install
9096
91- - name : Build ubus (basic)
97+ - id : basic
98+ name : Build ubus (basic)
99+ env :
100+ BUILD_DIR : build/ubus-basic
92101 run : |
93102 cmake \
94- -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} \
95103 -DCMAKE_C_COMPILER=${{ matrix.gcc }} \
96104 -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build \
97105 -DBUILD_LUA=OFF -DBUILD_EXAMPLES=OFF \
98- -B build/ubus-basic
99- make -C build/ubus-basic
106+ -B $BUILD_DIR
107+ make -C $BUILD_DIR
108+ echo "size_${{ matrix.arch }}=$( find $BUILD_DIR -type f -name ubus -printf '%s' )" >> $GITHUB_OUTPUT
100109
101- - name : Build ubus (full)
110+ - id : full
111+ name : Build ubus (full)
112+ env :
113+ BUILD_DIR : build/ubus-full
102114 run : |
103115 cmake \
104- -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} \
105116 -DCMAKE_C_COMPILER=${{ matrix.gcc }} \
106117 -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build \
107118 -DBUILD_LUA=ON -DBUILD_EXAMPLES=ON \
108119 -DLUAPATH=${GITHUB_WORKSPACE}/build/lib/lua \
109- -B build/ubus-full
110- make -C build/ubus-full
120+ -B $BUILD_DIR
121+ make -C $BUILD_DIR
122+ echo "size_${{ matrix.arch }}=$( find $BUILD_DIR -type f -name ubus -printf '%s' )" >> $GITHUB_OUTPUT
123+
124+ - name : Upload binaries
125+ uses : actions/upload-artifact@v4
126+ with :
127+ name : ubus-${{ matrix.arch }}-binaries
128+ path : |
129+ build/ubus-*/ubus
130+ if-no-files-found : error
131+
132+ summary :
133+ name : Sizes
134+ needs : [build]
135+ runs-on : ubuntu-latest
136+ steps :
137+ - name : Sizes summary
138+ env :
139+ size_aarch64_basic : ${{needs.build.outputs.size-aarch64-basic}}
140+ size_aarch64_full : ${{needs.build.outputs.size-aarch64-full}}
141+ size_arm_basic : ${{needs.build.outputs.size-arm-basic}}
142+ size_arm_full : ${{needs.build.outputs.size-arm-full}}
143+ size_mips_basic : ${{needs.build.outputs.size-mips-basic}}
144+ size_mips_full : ${{needs.build.outputs.size-mips-full}}
145+ size_x86_64_basic : ${{needs.build.outputs.size-x86_64-basic}}
146+ size_x86_64_full : ${{needs.build.outputs.size-x86_64-full}}
147+ run : |
148+ echo "### ${GITHUB_WORKFLOW} sizes :floppy_disk:" >> $GITHUB_STEP_SUMMARY
149+ echo "| Variant | aarch64 | arm | mips | x86_64 |" >> $GITHUB_STEP_SUMMARY
150+ echo "| :---: | :---: | :---: | :---: | :---: |" >> $GITHUB_STEP_SUMMARY
151+ echo "| basic | ${size_aarch64_basic} | ${size_arm_basic} | ${size_mips_basic} | ${size_x86_64_basic} |" >> $GITHUB_STEP_SUMMARY
152+ echo "| full | ${size_aarch64_full} | ${size_arm_full} | ${size_mips_full} | ${size_x86_64_full} |" >> $GITHUB_STEP_SUMMARY
0 commit comments