Skip to content

Commit c0eb935

Browse files
authored
CI: Use stripped release builds for distribution (WebAssembly#2826)
Even though `Release` is the default configuration for make better to be explicit. Also, for windows build we need to make sure we pass `--config Release` when actually building since the projects files will build Debug by default regardless of CMAKE_BUILD_TYPE. Fixes: WebAssembly#2825
1 parent e093d14 commit c0eb935

2 files changed

Lines changed: 30 additions & 10 deletions

File tree

.github/workflows/build_release.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
run: mkdir -p out
3737

3838
- name: cmake (osx)
39-
run: cmake -S . -B out -G Ninja
39+
run: cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release
4040
if: matrix.os == 'macos-latest'
4141

4242
- name: cmake (win)
@@ -45,7 +45,11 @@ jobs:
4545
if: matrix.os == 'windows-latest'
4646

4747
- name: build
48-
run: cmake --build out
48+
run: cmake --build out --config Release
49+
50+
- name: strip
51+
run: find bin/ -type f -perm -u=x -exec strip {} +
52+
if: matrix.os != 'windows-latest'
4953

5054
- name: archive
5155
id: archive
@@ -103,15 +107,20 @@ jobs:
103107
docker run -w /src -dit --name alpine -v $PWD:/src node:lts-alpine
104108
echo 'docker exec alpine "$@";' > ./alpine.sh
105109
chmod +x ./alpine.sh
110+
106111
- name: install packages
107112
run: |
108113
./alpine.sh apk update
109114
./alpine.sh apk add build-base cmake git python3 clang ninja
110-
- name: build
115+
116+
- name: cmake
111117
run: |
112-
./alpine.sh cmake . -G Ninja -DCMAKE_CXX_FLAGS="-static" -DCMAKE_C_FLAGS="-static"
118+
./alpine.sh cmake . -G Ninja -DCMAKE_CXX_FLAGS="-static" -DCMAKE_C_FLAGS="-static" -DCMAKE_BUILD_TYPE=Release
113119
120+
- name: build
121+
run: |
114122
./alpine.sh ninja
123+
115124
- name: test
116125
run: ./alpine.sh python3 ./check.py
117126

@@ -122,6 +131,7 @@ jobs:
122131
PKGNAME="binaryen-$VERSION-x86_64-linux"
123132
TARBALL=$PKGNAME.tar.gz
124133
SHASUM=$PKGNAME.tar.gz.sha256
134+
./alpine find bin/ -type f -perm -u=x -exec strip {} +
125135
mv bin binaryen-$VERSION
126136
tar -czf $TARBALL binaryen-$VERSION
127137
shasum -a 256 $TARBALL > $SHASUM

.github/workflows/ci.yml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@ jobs:
6262
run: mkdir -p out
6363

6464
- name: cmake (linux)
65-
run: cmake -S . -B out -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
65+
run: cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release
6666
if: matrix.os == 'ubuntu-latest'
6767

6868
- name: cmake (osx)
69-
run: cmake -S . -B out -G Ninja
69+
run: cmake -S . -B out -G Ninja -DCMAKE_BUILD_TYPE=Release
7070
if: matrix.os == 'macos-latest'
7171

7272
- name: cmake (win)
@@ -75,16 +75,26 @@ jobs:
7575
if: matrix.os == 'windows-latest'
7676

7777
- name: build
78-
run: cmake --build out
78+
run: cmake --build out --config Release
79+
80+
- name: strip
81+
run: find out/bin/ -type f -perm -u=x -exec strip {} +
82+
if: matrix.os != 'windows-latest'
7983

8084
- name: test
8185
run: python check.py --binaryen-bin=out/bin
8286
# Currently disabled on windows due to a single test failure.
8387
# https://github.com/WebAssembly/binaryen/issues/2781
8488
if: matrix.os != 'windows-latest'
8589

86-
build-gcc:
87-
name: gcc
90+
- name: Upload artifacts
91+
uses: actions/upload-artifact@v1
92+
with:
93+
name: build-${{ matrix.os }}
94+
path: out/bin
95+
96+
build-clang:
97+
name: clang
8898
runs-on: ubuntu-latest
8999
steps:
90100
- uses: actions/setup-python@v1
@@ -96,7 +106,7 @@ jobs:
96106
- name: cmake
97107
run: |
98108
mkdir -p out
99-
cmake -S . -B out -G Ninja -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
109+
cmake -S . -B out -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
100110
- name: build
101111
run: cmake --build out
102112
- name: test

0 commit comments

Comments
 (0)