Removed Assets.yml #30
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Build Github Action, to run a test build on all targets | |
# (Linux, Emscripten, MacOS, Visual Studio) when the project is checked in. | |
# | |
# Thanks in large part to the phenomenal examples of DaftFreak. | |
name: Build | |
on: | |
push: | |
pull_request: | |
release: | |
types: [created] | |
env: | |
BUILD_TYPE: Release | |
EM_VERSION: 2.0.18 # Emscripten version | |
EM_CACHE_FOLDER: 'emsdk-cache' # Cache for Emscripten libs | |
jobs: | |
build: | |
name: ${{matrix.name}} | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-20.04 | |
name: Linux | |
release-suffix: LIN64 | |
can-fail: false | |
- os: ubuntu-20.04 | |
name: Emscripten | |
release-suffix: WEB | |
cmake-prefix: emcmake | |
apt-packages: python3-setuptools | |
can-fail: true | |
- os: macos-latest | |
name: macOS | |
release-suffix: MACOS | |
can-fail: true | |
- os: windows-latest | |
name: Visual Studio | |
release-suffix: WIN64 | |
can-fail: false | |
runs-on: ${{matrix.os}} | |
continue-on-error: ${{ matrix.can-fail }} | |
env: | |
RELEASE_FILE: ${{github.event.repository.name}}-${{github.event.release.tag_name}}-${{matrix.release-suffix}} | |
steps: | |
# Check out the main repo | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
# 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 | |
# Set up the cmake build environment | |
- name: Create Build Environment | |
run: cmake -E make_directory ${{runner.workspace}}/main/build | |
# Ask cmake to build the makefiles | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/main/build | |
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 | |
working-directory: ${{runner.workspace}}/main/build | |
shell: bash | |
run: | | |
cmake --build . --config $BUILD_TYPE -j 2 | |
# When it's a release, generate tar/zip files of the build | |
- name: Package Release | |
if: github.event_name == 'release' && matrix.release-suffix != '' | |
shell: bash | |
working-directory: ${{runner.workspace}}/main/build | |
run: | | |
cmake --build . --config $BUILD_TYPE --target package | |
# Push the tar file to the release | |
- name: Upload tar | |
if: github.event_name == 'release' && matrix.release-suffix != '' | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
with: | |
asset_path: ${{runner.workspace}}/main/build/${{env.RELEASE_FILE}}.tar.gz | |
upload_url: ${{github.event.release.upload_url}} | |
asset_name: ${{env.RELEASE_FILE}}.tar.gz | |
asset_content_type: application/octet-stream | |
# Push the zip file to the release | |
- name: Upload zip | |
if: github.event_name == 'release' && matrix.release-suffix != '' | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
with: | |
asset_path: ${{runner.workspace}}/main/build/${{env.RELEASE_FILE}}.zip | |
upload_url: ${{github.event.release.upload_url}} | |
asset_name: ${{env.RELEASE_FILE}}.zip | |
asset_content_type: application/zip |