Don't use std::visit for formatting. It is too slow and complex #68
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
name: build and run tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
linux-docker: | |
# All of these shall depend on the formatting check (needs: check-formatting) | |
runs-on: ubuntu-24.04 | |
# The GH default is 360 minutes (it's also the max as of Feb-2021). However, | |
# we should fail sooner. The only reason to exceed this time is if a test | |
# hangs. | |
timeout-minutes: 120 | |
strategy: | |
# Enabling fail-fast would kill all Dockers if one of them fails. We want | |
# maximum output. | |
fail-fast: false | |
matrix: | |
# For every distro we want to test here, add one key 'distro' with a | |
# descriptive name, and one key 'containerid' with the name of the | |
# container (i.e., what you want to docker-pull) | |
distro: | |
- name: 'Ubuntu 24.04' | |
containerid: 'ghcr.io/gnuradio/gnuradio-docker:ubuntu-24.04' | |
cxxflags: -Werror | |
compiler: | |
- name: "emscripten" | |
command: "emcc" | |
name: ${{ matrix.distro.name }} - ${{ matrix.compiler.name }} | |
container: | |
image: ${{ matrix.distro.containerid }} | |
volumes: | |
- build_data:/build | |
options: --cpus 2 | |
steps: | |
- uses: actions/checkout@v3 | |
name: Checkout Project | |
- name: Install emscripten | |
run: | | |
DEBIAN_FRONTEND=noninteractive apt-get install -qy bzip2 | |
cd | |
git clone https://github.com/emscripten-core/emsdk.git | |
cd emsdk | |
# Download and install the latest SDK tools. | |
./emsdk install latest | |
# Make the "latest" SDK "active" for the current user. (writes .emscripten file) | |
./emsdk activate latest | |
# - name: Install emscripten | |
# run: | | |
# pwd | |
# echo | |
# ls ${{ github.workspace }} | |
# echo | |
# ls . | |
# echo | |
# ls emsdk | |
- name: Configure Meson | |
shell: bash | |
working-directory: ${{ github.workspace }} | |
run: | | |
source ~/emsdk/emsdk_env.sh | |
tee emscripten-toolchain.ini <<EOF >/dev/null | |
[constants] | |
toolchain = '$HOME/emsdk/${{ env.EM_CACHE_FOLDER }}/upstream/emscripten/' | |
EOF | |
meson setup build --cross-file emscripten-toolchain.ini --cross-file emscripten-build.ini -Denable_python=false -Denable_testing=false | |
- name: Make | |
working-directory: ${{ github.workspace }}/build | |
run: 'ninja' | |
- name: Run Test File | |
shell: bash | |
working-directory: ${{ github.workspace }}/build | |
run: | | |
source ~/emsdk/emsdk_env.sh | |
${EMSDK_NODE} bench/bm_pmt_dict_ref.js | |
- uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: Linux_Meson_Testlog | |
path: build/meson-logs/testlog.txt |