Skip to content

Commit ab85844

Browse files
Update build.yml
1 parent 13d6fb2 commit ab85844

File tree

1 file changed

+30
-7
lines changed

1 file changed

+30
-7
lines changed

.github/workflows/build.yml

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ on:
1313

1414
env:
1515
BUILD_TYPE: Release
16+
EM_VERSION: 2.0.4 # Emscripten version
17+
EM_CACHE_FOLDER: 'emsdk-cache' # Cache for Emscripten libs
1618

1719
jobs:
1820

@@ -25,25 +27,32 @@ jobs:
2527
- os: ubuntu-20.04
2628
name: Linux
2729
release-suffix: LIN64
28-
cmake-args: -D32BLIT_PATH=$GITHUB_WORKSPACE/32blit
30+
cmake-args: -D32BLIT_DIR=$GITHUB_WORKSPACE/32blit
2931
apt-packages: libsdl2-dev libsdl2-image-dev libsdl2-net-dev python3-setuptools
3032

3133
- os: ubuntu-20.04
3234
name: STM32
3335
release-suffix: STM32
3436
cmake-args: -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/32blit/32blit.toolchain
3537
apt-packages: gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib python3-setuptools
38+
39+
- os: ubuntu-20.04
40+
name: Emscripten
41+
release-suffix: WEB
42+
cmake-args: -D32BLIT_DIR=$GITHUB_WORKSPACE/32blit
43+
cmake-prefix: emcmake
44+
apt-packages: python3-setuptools
3645

3746
- os: macos-latest
3847
name: macOS
3948
release-suffix: MACOS
40-
cmake-args: -D32BLIT_PATH=$GITHUB_WORKSPACE/32blit
49+
cmake-args: -D32BLIT_DIR=$GITHUB_WORKSPACE/32blit
4150
brew-packages: sdl2 sdl2_image sdl2_net
4251

4352
- os: windows-latest
4453
name: Visual Studio
4554
release-suffix: WIN64
46-
cmake-args: -D32BLIT_PATH=$GITHUB_WORKSPACE/32blit
55+
cmake-args: -D32BLIT_DIR=$GITHUB_WORKSPACE/32blit
4756

4857
runs-on: ${{matrix.os}}
4958

@@ -85,6 +94,22 @@ jobs:
8594
run: |
8695
python -m pip install 32blit
8796
97+
# Emscripten SDK setup
98+
- name: Setup Emscripten cache
99+
if: matrix.name == 'Emscripten'
100+
id: cache-system-libraries
101+
uses: actions/cache@v2
102+
with:
103+
path: ${{env.EM_CACHE_FOLDER}}
104+
key: ${{env.EM_VERSION}}-${{runner.os}}
105+
106+
- name: Setup Emscripten
107+
if: matrix.name == 'Emscripten'
108+
uses: mymindstorm/setup-emsdk@v7
109+
with:
110+
version: ${{env.EM_VERSION}}
111+
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
112+
88113
# Set up the cmake build environment
89114
- name: Create Build Environment
90115
run: cmake -E make_directory ${{runner.workspace}}/main/build
@@ -93,7 +118,7 @@ jobs:
93118
- name: Configure CMake
94119
shell: bash
95120
working-directory: ${{runner.workspace}}/main/build
96-
run: cmake $GITHUB_WORKSPACE/main -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=`pwd` ${{matrix.cmake-args}}
121+
run: ${{matrix.cmake-prefix}} cmake $GITHUB_WORKSPACE/main -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCPACK_PACKAGE_FILE_NAME=${{env.RELEASE_FILE}} ${{matrix.cmake-args}}
97122

98123
# And then run the build itself
99124
- name: Build
@@ -108,9 +133,7 @@ jobs:
108133
shell: bash
109134
working-directory: ${{runner.workspace}}/main/build
110135
run: |
111-
cmake --build . --target install
112-
tar -zcf ${RELEASE_FILE}.tar.gz bin/
113-
7z a ${RELEASE_FILE}.zip bin/*
136+
cmake --build . --target package
114137
115138
# Push the tar file to the release
116139
- name: Upload tar

0 commit comments

Comments
 (0)