From fa1757ebf49ac41ba82fcb15005f4339d9ce2336 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:02:25 +0100 Subject: [PATCH 01/15] Add emscripten build to the CI. This will help resolving https://github.com/ArthurSonzogni/Diagon/issues/9 --- .github/workflows/continuous-integration.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 74a932e..c2ab5d8 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -20,10 +20,16 @@ jobs: os: ubuntu-latest cc: "gcc-9" cxx: "g++-9" + - name: "Ubuntu Latest - Clang" os: ubuntu-latest cc: "clang-9" cxx: "clang++-9" + + - name: "Ubuntu Latest - Emscripten" + os: ubuntu-latest + cc: "emcc" + cxx: "em++" steps: - uses: actions/checkout@v2 - uses: seanmiddleditch/gha-setup-ninja@master @@ -38,6 +44,10 @@ jobs: with: boost_version: 1.73.0 + - name: Setup Emscripten + if: ${{ matrix.config.cc == 'emcc' }} + uses: lovasoa/setup-emscripten@v1 + - name: Install Linux Dependencies if: runner.os == 'Linux' run: sudo apt install libboost-graph-dev @@ -50,14 +60,12 @@ jobs: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} - shell: bash - name: cmake build run: cmake --build build - shell: bash - name: tests + if: ${{ matrix.config.cc != 'emcc' }} run: | cd build ./input_output_test - shell: bash From b8f71883474206296e9f1e5ff07106492aaa4529 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:09:22 +0100 Subject: [PATCH 02/15] Improvement --- .github/workflows/continuous-integration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index c2ab5d8..9751b2e 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -46,7 +46,7 @@ jobs: - name: Setup Emscripten if: ${{ matrix.config.cc == 'emcc' }} - uses: lovasoa/setup-emscripten@v1 + uses: mymindstorm/setup-emsdk@v7 - name: Install Linux Dependencies if: runner.os == 'Linux' From 366c1ac13d351838c69ef80e9930d6f6e1a03be9 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:14:08 +0100 Subject: [PATCH 03/15] Use emcmake --- .github/workflows/continuous-integration.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 9751b2e..c8e02be 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -20,16 +20,19 @@ jobs: os: ubuntu-latest cc: "gcc-9" cxx: "g++-9" + cmake: "cmake" - name: "Ubuntu Latest - Clang" os: ubuntu-latest cc: "clang-9" cxx: "clang++-9" + cmake: "cmake" - name: "Ubuntu Latest - Emscripten" os: ubuntu-latest cc: "emcc" cxx: "em++" + cmake: "emcmake cmake" steps: - uses: actions/checkout@v2 - uses: seanmiddleditch/gha-setup-ninja@master @@ -47,6 +50,8 @@ jobs: - name: Setup Emscripten if: ${{ matrix.config.cc == 'emcc' }} uses: mymindstorm/setup-emsdk@v7 + with: + version: 1.38.40 - name: Install Linux Dependencies if: runner.os == 'Linux' @@ -54,7 +59,7 @@ jobs: - name: CMake configure run: > - cmake + ${{ matrix.config.cmake }} -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug From 1a2e24c40605542b8a6a89de673a672dd4b28cdc Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:19:48 +0100 Subject: [PATCH 04/15] Improvement. --- .github/workflows/continuous-integration.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index c8e02be..c1ba7a6 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -50,8 +50,6 @@ jobs: - name: Setup Emscripten if: ${{ matrix.config.cc == 'emcc' }} uses: mymindstorm/setup-emsdk@v7 - with: - version: 1.38.40 - name: Install Linux Dependencies if: runner.os == 'Linux' @@ -59,18 +57,20 @@ jobs: - name: CMake configure run: > + mkdir build; ${{ matrix.config.cmake }} - -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} - name: cmake build - run: cmake --build build + run: > + cd build; + cmake --build build - name: tests if: ${{ matrix.config.cc != 'emcc' }} - run: | - cd build + run: > + cd build; ./input_output_test From 550b278254bb36a65193e30bb8af370e4a9c40d2 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:21:55 +0100 Subject: [PATCH 05/15] Improement --- .github/workflows/continuous-integration.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index c1ba7a6..5375310 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -55,7 +55,7 @@ jobs: if: runner.os == 'Linux' run: sudo apt install libboost-graph-dev - - name: CMake configure + - name: Build run: > mkdir build; ${{ matrix.config.cmake }} @@ -63,11 +63,7 @@ jobs: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} - - - name: cmake build - run: > - cd build; - cmake --build build + make -j - name: tests if: ${{ matrix.config.cc != 'emcc' }} From 172fa403342d13472ef3cab263381ed4de2291d4 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:23:38 +0100 Subject: [PATCH 06/15] Fix workflow --- .github/workflows/continuous-integration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 5375310..220a2f7 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -62,7 +62,7 @@ jobs: -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=${{ matrix.config.cc }} - -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} + -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }}; make -j - name: tests From 72d5d88e562ce9c683131f2c4437de24c93c8f17 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:24:55 +0100 Subject: [PATCH 07/15] Improvement --- .github/workflows/continuous-integration.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 220a2f7..1a63c15 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -59,7 +59,6 @@ jobs: run: > mkdir build; ${{ matrix.config.cmake }} - -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }}; From 49b86e3d2bddac056ec01d2b5443c175693e53fc Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:45:46 +0100 Subject: [PATCH 08/15] Improvement --- .github/workflows/continuous-integration.yaml | 16 +++++++++++++++- CMakeLists.txt | 2 +- src/run_diagon.sh | 6 ++++++ src/run_web_server.sh | 3 --- 4 files changed, 22 insertions(+), 5 deletions(-) create mode 100755 src/run_diagon.sh delete mode 100755 src/run_web_server.sh diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 1a63c15..ffee8c3 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -67,5 +67,19 @@ jobs: - name: tests if: ${{ matrix.config.cc != 'emcc' }} run: > - cd build; ./input_output_test + + - name: tests + if: ${{ matrix.config.cc != 'emcc' }} + run: > + ./input_output_test + + - name: tests + if: ${{ matrix.config.cc == 'emcc' }} + run: > + mkdir distribution + cp diagon.js distribution/ + cp diagon.wasm distribution/ + cp diagon.wasm distribution/ + cp index.html distribution/ + cp index.html distribution/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a8418d..da73093 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -155,7 +155,7 @@ if (EMSCRIPTEN) foreach(file "style.css" "index.html" - "run_web_server.sh") + "run_diagon.sh") configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/src/${file} ${CMAKE_CURRENT_BINARY_DIR}/${file} diff --git a/src/run_diagon.sh b/src/run_diagon.sh new file mode 100755 index 0000000..488c23c --- /dev/null +++ b/src/run_diagon.sh @@ -0,0 +1,6 @@ +#! /bin/bash +python3 -m http.server 8888 & +P1=$! +trap 'kill 0' SIGINT; P1 +python3 -m webbrowser http://localhost:8888 +wait $P1 diff --git a/src/run_web_server.sh b/src/run_web_server.sh deleted file mode 100755 index e11cc62..0000000 --- a/src/run_web_server.sh +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/bash -python3 -m SimpleHTTPServer 8080 - From 334c0a073a05db29d32dc2fb283c92862014e945 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:48:24 +0100 Subject: [PATCH 09/15] Improvement --- .github/workflows/continuous-integration.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index ffee8c3..bac8566 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -74,12 +74,18 @@ jobs: run: > ./input_output_test - - name: tests + - name: Make webAssembly distribution if: ${{ matrix.config.cc == 'emcc' }} run: > mkdir distribution cp diagon.js distribution/ cp diagon.wasm distribution/ - cp diagon.wasm distribution/ - cp index.html distribution/ - cp index.html distribution/ + cp style.css distribution/ + cp run_diagon.sh distribution/ + + - name: Upload WebAssembly distribution + if: ${{ matrix.config.cc == 'emcc' }} + uses: actions/upload-artifact@v2 + with: + name: distribution + path: distribution From 256e077d272b4c16bd62a507721123530fbaa4c9 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 17:53:15 +0100 Subject: [PATCH 10/15] Improvement --- .github/workflows/continuous-integration.yaml | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index bac8566..27d1bb5 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -62,14 +62,9 @@ jobs: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }}; - make -j + make - - name: tests - if: ${{ matrix.config.cc != 'emcc' }} - run: > - ./input_output_test - - - name: tests + - name: Tests if: ${{ matrix.config.cc != 'emcc' }} run: > ./input_output_test @@ -77,11 +72,11 @@ jobs: - name: Make webAssembly distribution if: ${{ matrix.config.cc == 'emcc' }} run: > - mkdir distribution - cp diagon.js distribution/ - cp diagon.wasm distribution/ - cp style.css distribution/ - cp run_diagon.sh distribution/ + mkdir distribution; + cp diagon.js distribution; + cp diagon.wasm distribution; + cp style.css distribution; + cp run_diagon.sh distribution; - name: Upload WebAssembly distribution if: ${{ matrix.config.cc == 'emcc' }} From 996eba85b9fb1e0fc685d9f887c08cbd29ab2e67 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 18:04:00 +0100 Subject: [PATCH 11/15] Improvement --- .github/workflows/continuous-integration.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 27d1bb5..4e0ce82 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -59,7 +59,7 @@ jobs: run: > mkdir build; ${{ matrix.config.cmake }} - -DCMAKE_BUILD_TYPE=Debug + -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }}; make @@ -75,8 +75,9 @@ jobs: mkdir distribution; cp diagon.js distribution; cp diagon.wasm distribution; - cp style.css distribution; + cp index.html distribution cp run_diagon.sh distribution; + cp style.css distribution; - name: Upload WebAssembly distribution if: ${{ matrix.config.cc == 'emcc' }} From 984fe3f590ba0b717cac2a88f101c85b5ffb4ec3 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 18:15:32 +0100 Subject: [PATCH 12/15] Improvement --- .github/workflows/continuous-integration.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 4e0ce82..3addfca 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -72,10 +72,10 @@ jobs: - name: Make webAssembly distribution if: ${{ matrix.config.cc == 'emcc' }} run: > - mkdir distribution; - cp diagon.js distribution; + mkdir -p distribution; + cp diagon.js distribution cp diagon.wasm distribution; - cp index.html distribution + cp index.html distribution; cp run_diagon.sh distribution; cp style.css distribution; From 459cf53921996e775705a0a4faa277f2e8f51517 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 18:28:57 +0100 Subject: [PATCH 13/15] Improvement --- .github/workflows/continuous-integration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 3addfca..be2c9ba 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -73,7 +73,7 @@ jobs: if: ${{ matrix.config.cc == 'emcc' }} run: > mkdir -p distribution; - cp diagon.js distribution + cp diagon.js distribution; cp diagon.wasm distribution; cp index.html distribution; cp run_diagon.sh distribution; From 123b0ea7aa457a2e9ec6a00abc72759197f9a8f9 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 18:40:16 +0100 Subject: [PATCH 14/15] Final improvement --- .github/workflows/continuous-integration.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index be2c9ba..8a52b80 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -76,8 +76,9 @@ jobs: cp diagon.js distribution; cp diagon.wasm distribution; cp index.html distribution; - cp run_diagon.sh distribution; cp style.css distribution; + cp run_diagon.sh distribution; + chmod a+x ./distribution/run_diagon.sh - name: Upload WebAssembly distribution if: ${{ matrix.config.cc == 'emcc' }} From 0c3e48f936525c6f8b1bef58bdee97cbcfc3031d Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sat, 20 Mar 2021 18:55:30 +0100 Subject: [PATCH 15/15] Improvement --- .github/workflows/continuous-integration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 8a52b80..ede0b1a 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -83,6 +83,6 @@ jobs: - name: Upload WebAssembly distribution if: ${{ matrix.config.cc == 'emcc' }} uses: actions/upload-artifact@v2 - with: + with: name: distribution path: distribution