Switch CI test builds (#299)
* Squashing Switch CI commits. add switch CI test build make consistent with other PR pre-emptive PR changes * fix merge issue * use emsdk env var for folder paths (since i'm already in there) * remove stray comment
This commit is contained in:
parent
6ae34cd0ef
commit
a05cc2ed46
2 changed files with 51 additions and 24 deletions
72
.github/workflows/main.yml
vendored
72
.github/workflows/main.yml
vendored
|
@ -3,9 +3,7 @@ on:
|
|||
push:
|
||||
branches:
|
||||
- master
|
||||
- v*.*
|
||||
tags:
|
||||
- v*.*
|
||||
- v[0-9].[0-9]**
|
||||
paths:
|
||||
- "**.c"
|
||||
- "**.h"
|
||||
|
@ -174,7 +172,7 @@ jobs:
|
|||
ninja
|
||||
zstandard
|
||||
|
||||
- name: Checkout Code (Git)
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
@ -236,14 +234,14 @@ jobs:
|
|||
- name: Install Emscripten SDK
|
||||
if: steps.emsdk-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
rm -rf emsdk/
|
||||
git clone https://github.com/emscripten-core/emsdk.git
|
||||
emsdk/emsdk install ${{ env.EM_VERSION }}
|
||||
emsdk/emsdk activate ${{ env.EM_VERSION }}
|
||||
rm -rf ./${{ env.EM_CACHE_FOLDER }}/
|
||||
git clone https://github.com/emscripten-core/emsdk.git ${{ env.EM_CACHE_FOLDER }}
|
||||
${{ env.EM_CACHE_FOLDER }}/emsdk install ${{ env.EM_VERSION }}
|
||||
${{ env.EM_CACHE_FOLDER }}/emsdk activate ${{ env.EM_VERSION }}
|
||||
|
||||
- name: Verify Emscripten SDK
|
||||
run: |
|
||||
source emsdk/emsdk_env.sh
|
||||
source ${{ env.EM_CACHE_FOLDER }}/emsdk_env.sh
|
||||
emcc -v
|
||||
tee misc/ci/emscripten-ephemeral-ci.ini <<EOF >/dev/null
|
||||
[constants]
|
||||
|
@ -252,7 +250,7 @@ jobs:
|
|||
|
||||
- name: Configure
|
||||
run: >
|
||||
source emsdk/emsdk_env.sh
|
||||
source ${{ env.EM_CACHE_FOLDER }}/emsdk_env.sh
|
||||
|
||||
meson setup build/
|
||||
--cross-file misc/ci/emscripten-ephemeral-ci.ini
|
||||
|
@ -265,7 +263,7 @@ jobs:
|
|||
|
||||
- name: Build
|
||||
run: |
|
||||
source emsdk/emsdk_env.sh
|
||||
source ${{ env.EM_CACHE_FOLDER }}/emsdk_env.sh
|
||||
# TODO: SPIRV-Tools has a race condition where it sometimes fails, fix that
|
||||
meson compile tar -C build/ --verbose || true
|
||||
meson compile tar -C build/ --verbose
|
||||
|
@ -288,20 +286,20 @@ jobs:
|
|||
run: >
|
||||
git clone https://github.com/emscripten-core/emsdk.git
|
||||
|
||||
git --git-dir=emsdk/.git fetch --tags
|
||||
git --git-dir=${{ env.EM_CACHE_FOLDER }}/.git fetch --tags
|
||||
|
||||
export EM_LATEST_TAG=$(git --git-dir=emsdk/.git describe --abbrev=0 --tags)
|
||||
export EM_LATEST_TAG=$(git --git-dir=${{ env.EM_CACHE_FOLDER }}/.git describe --abbrev=0 --tags)
|
||||
|
||||
echo EM_LATEST_TAG=$EM_LATEST_TAG >> $GITHUB_ENV
|
||||
|
||||
if [[ $EM_LATEST_TAG != ${{ env.EM_VERSION }} ]]; then
|
||||
echo "Versions differ (stable: $EM_LATEST_TAG, latest: ${{ env.EM_VERSION }}), running test build";
|
||||
echo "Versions differ (latest: $EM_LATEST_TAG, stable: ${{ env.EM_VERSION }}), running test build";
|
||||
echo '::set-output name=run::true';
|
||||
else
|
||||
echo "Same tag as in stable build (stable: $EM_LATEST_TAG, latest: ${{ env.EM_VERSION }}), skipping";
|
||||
fi # only run if version is different
|
||||
echo "Same tag as in stable build (latest: $EM_LATEST_TAG, stable: ${{ env.EM_VERSION }}), skipping";
|
||||
fi
|
||||
|
||||
rm -rf emsdk # cleanup
|
||||
rm -rf ./${{ env.EM_CACHE_FOLDER }} # cleanup
|
||||
|
||||
- name: Checkout Code
|
||||
if: steps.emsdk-tag.outputs.run == 'true'
|
||||
|
@ -341,14 +339,14 @@ jobs:
|
|||
- name: Install Emscripten SDK
|
||||
if: steps.emsdk-tag.outputs.run == 'true' && steps.emsdk-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
git clone https://github.com/emscripten-core/emsdk.git
|
||||
emsdk/emsdk install ${{ env.EM_LATEST_TAG }} || true
|
||||
emsdk/emsdk activate ${{ env.EM_LATEST_TAG }}
|
||||
git clone https://github.com/emscripten-core/emsdk.git ${{ env.EM_CACHE_FOLDER }}
|
||||
${{ env.EM_CACHE_FOLDER }}/emsdk install ${{ env.EM_LATEST_TAG }} || true
|
||||
${{ env.EM_CACHE_FOLDER }}/emsdk activate ${{ env.EM_LATEST_TAG }}
|
||||
|
||||
- name: Verify Emscripten SDK
|
||||
if: steps.emsdk-tag.outputs.run == 'true'
|
||||
run: |
|
||||
source emsdk/emsdk_env.sh
|
||||
source ${{ env.EM_CACHE_FOLDER }}/emsdk_env.sh
|
||||
emcc -v
|
||||
tee misc/ci/emscripten-ephemeral-ci.ini <<EOF >/dev/null
|
||||
[constants]
|
||||
|
@ -358,7 +356,7 @@ jobs:
|
|||
- name: Configure
|
||||
if: steps.emsdk-tag.outputs.run == 'true'
|
||||
run: >
|
||||
source emsdk/emsdk_env.sh
|
||||
source ${{ env.EM_CACHE_FOLDER }}/emsdk_env.sh
|
||||
|
||||
meson setup build/
|
||||
--cross-file misc/ci/emscripten-ephemeral-ci.ini
|
||||
|
@ -373,7 +371,7 @@ jobs:
|
|||
if: steps.emsdk-tag.outputs.run == 'true'
|
||||
run: |
|
||||
# this build is allowed to fail
|
||||
source emsdk/emsdk_env.sh
|
||||
source ${{ env.EM_CACHE_FOLDER }}/emsdk_env.sh
|
||||
# TODO: SPIRV-Tools has a race condition where it sometimes fails, fix that
|
||||
meson compile tar -C build/ --verbose || true
|
||||
meson compile tar -C build/ --verbose
|
||||
|
@ -384,4 +382,32 @@ jobs:
|
|||
with:
|
||||
name: taisei_emscripten_latest_build_log
|
||||
path: build/meson-logs/meson-log.txt
|
||||
|
||||
switch-test-build:
|
||||
name: Switch (ARM64)
|
||||
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
||||
runs-on: ubuntu-20.04
|
||||
container: taiseiproject/switch-toolkit:20210520
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Configure
|
||||
run: >
|
||||
switch/crossfile.sh > misc/ci/switch-crossfile-ci.ini
|
||||
|
||||
meson setup build/
|
||||
--cross-file=misc/ci/switch-crossfile-ci.ini
|
||||
--prefix=$(pwd)/build-test
|
||||
|
||||
- name: Build
|
||||
run: meson compile -C build/ --verbose
|
||||
|
||||
- name: Upload Log
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: taisei_switch_build_log
|
||||
path: build/meson-logs/meson-log.txt
|
||||
if-no-files-found: warn
|
||||
|
|
|
@ -33,11 +33,12 @@ pkgconfig = '$(bin_path pkg-config)'
|
|||
elf2nro = '$(which elf2nro)'
|
||||
nacptool = '$(which nacptool)'
|
||||
|
||||
[properties]
|
||||
[built-in options]
|
||||
c_args = [$(meson_arg_list $CPPFLAGS $CFLAGS)]
|
||||
c_link_args = [$(meson_arg_list $LDFLAGS $LIBS $ADDITIONAL_LINK_FLAGS)]
|
||||
cpp_args = [$(meson_arg_list $CPPFLAGS $CXXFLAGS)]
|
||||
cpp_link_args = [$(meson_arg_list $LDFLAGS $LIBS $ADDITIONAL_LINK_FLAGS)]
|
||||
werror = false
|
||||
|
||||
[host_machine]
|
||||
system = 'nx'
|
||||
|
|
Loading…
Reference in a new issue