From 6b3973aea53bc78211b9c4e40ef507fe100edc33 Mon Sep 17 00:00:00 2001 From: Charlie Birks Date: Mon, 8 Feb 2021 11:49:52 +0000 Subject: [PATCH 1/2] Add Emscripten build --- .github/workflows/build.yml | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c2b51aa..c9e57ae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,8 @@ on: env: BUILD_TYPE: Release + EM_VERSION: 2.0.4 # Emscripten version + EM_CACHE_FOLDER: 'emsdk-cache' # Cache for Emscripten libs jobs: @@ -34,6 +36,13 @@ jobs: cmake-args: -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/32blit-sdk/32blit.toolchain apt-packages: gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib python3-setuptools + - os: ubuntu-20.04 + name: Emscripten + release-suffix: WEB + cmake-args: -D32BLIT_DIR=$GITHUB_WORKSPACE/32blit-sdk + cmake-prefix: emcmake + apt-packages: python3-setuptools + - os: macos-latest name: macOS release-suffix: MACOS @@ -85,6 +94,26 @@ jobs: run: | python -m pip install 32blit + # Emscripten SDK setup + - name: Setup Emscripten cache + if: matrix.name == 'Emscripten' + id: cache-system-libraries + uses: actions/cache@v2 + with: + path: ${{env.EM_CACHE_FOLDER}} + key: ${{env.EM_VERSION}}-${{runner.os}} + + - name: Setup Emscripten + if: matrix.name == 'Emscripten' + uses: mymindstorm/setup-emsdk@v7 + with: + version: ${{env.EM_VERSION}} + actions-cache-folder: ${{env.EM_CACHE_FOLDER}} + + - name: Pre-build Emscripten ports + if: matrix.name == 'Emscripten' + run: embuilder.py build sdl2 sdl2-image-jpg sdl2-net + # Set up the cmake build environment - name: Create Build Environment run: cmake -E make_directory ${{runner.workspace}}/main/build @@ -93,7 +122,7 @@ jobs: - name: Configure CMake shell: bash working-directory: ${{runner.workspace}}/main/build - run: cmake $GITHUB_WORKSPACE/main -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCPACK_PACKAGE_FILE_NAME=${{env.RELEASE_FILE}} ${{matrix.cmake-args}} + run: ${{matrix.cmake-prefix}} cmake $GITHUB_WORKSPACE/main -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCPACK_PACKAGE_FILE_NAME=${{env.RELEASE_FILE}} ${{matrix.cmake-args}} # And then run the build itself - name: Build From fc2ed7b6d96e9e6b665a06bb95d2ccd4ac1f49b1 Mon Sep 17 00:00:00 2001 From: Charlie Birks Date: Mon, 8 Feb 2021 12:04:00 +0000 Subject: [PATCH 2/2] Don't run build on tags If it's a release there will already be a release build --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c9e57ae..768ad1c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,8 @@ name: Build on: push: + branches: + - '**' # only run on branches pull_request: release: types: [created]