ci: Reduce file size of cabal and stack based builds

By passing -split-sections to all dependencies, GHC will link only the
modules we actually use and not the full package for each dependency.
This does neither work on MacOS nor Windows, thus we don't do it for
stack right now.

Stripping unused symbols in CI will further decrease the size of those files.
This commit is contained in:
Wolfgang Walther
2024-02-06 10:19:31 +01:00
committed by Wolfgang Walther
parent cc9b725005
commit 0eca2954b3
4 changed files with 14 additions and 2 deletions
+5 -1
View File
@@ -55,10 +55,14 @@ cd ~/$SCRIPT_DIR
git clone https://github.com/PostgREST/postgrest.git
cd postgrest
git checkout $PGRST_GITHUB_COMMIT
cp cabal.project.non-nix cabal.project
cabal v2-update && cabal v2-build
# Copy the built binary to the Dockerfile directory
# Strip unused symbols from executable
PGRST_BIN=$(cabal exec which postgrest | tail -1)
strip $PGRST_BIN
# Copy the built binary to the Dockerfile directory
cp $PGRST_BIN ~/$DOCKER_BUILD_DIR
# Move and compress the built binary
+2
View File
@@ -207,6 +207,8 @@ jobs:
run: ${{ matrix.deps }}
- name: Build with Stack
run: stack build --local-bin-path result --copy-bins
- name: Strip Executable
run: strip result/postgrest*
- name: Save built executable as artifact
uses: actions/upload-artifact@v4
with: