From 187d244ee4001b5ff9669b8b763ca00a99927c72 Mon Sep 17 00:00:00 2001 From: Quentin Quadrat Date: Sun, 5 Nov 2023 14:19:42 +0100 Subject: [PATCH] Add HTML CI --- .github/workflows/ci.yml | 70 +++++++++++++++++++++++++----------- Makefile | 13 ++++++- src/Renderer/PetriEditor.cpp | 2 +- 3 files changed, 63 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0ad44a7..4d9ceb3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,14 +3,47 @@ on: workflow_dispatch: branches: - master + - dev-refactor push: branches: - master + - dev-refactor pull_request: branches: - master + - dev-refactor jobs: + build_html5: + name: Build with Emscripten + runs-on: ubuntu-20.04 + steps: + - name: Install system packages + run: | + sudo apt-get update + sudo apt-get install pkg-config libmosquitto-dev libx11-dev libxinerama-dev + sudo apt-get install libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev + - name: Install Emscripten + uses: mymindstorm/setup-emsdk@v11 + - name: Checkout TimedPetriNetEditor + uses: actions/checkout@v4 + with: + submodules: true + - name: Compile TimedPetriNetEditor + run: | + make download-external-libs + emmake make compile-external-libs + emmake make -j`nproc --all` + - name: Deploy + run: | + git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} + git config --global user.name 'GitHub CI' + git config --global user.email 'github-ci@users.noreply.github.com' + git checkout gh-pages + git add build/TimedPetriNetEditor.* + git commit -m "Automated commit" + git push + non_regression_linux: name: Non regression tests on Linux runs-on: ubuntu-20.04 @@ -18,15 +51,16 @@ jobs: - name: Install system packages run: | sudo apt-get update - sudo apt-get install pkg-config lcov libdw-dev libsfml-dev libglew-dev - sudo apt-get install libmosquitto-dev + sudo apt-get install libdw-dev pkg-config libmosquitto-dev libx11-dev libxinerama-dev + sudo apt-get install libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev - name: Checkout TimedPetriNetEditor - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true - name: Compile TimedPetriNetEditor run: | make download-external-libs + make compile-external-libs make -j`nproc --all` - name: Download, configure and install Google test run: | @@ -35,16 +69,11 @@ jobs: cd googletest-release-1.11.0 cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON . sudo make install - - name: Do non regression tests - run: | - cd tests - make -j`nproc --all` - ./build/TimedPetriNetEditor-UnitTest - - name: Deploy - uses: actions/upload-artifact@v3 - with: - name: TimedPetriNetEditor-linux - path: build/TimedPetriNetEditor +# - name: Do non regression tests +# run: | +# cd tests +# make -j`nproc --all` +# ./build/TimedPetriNetEditor-UnitTest non_regression_macos: name: Non regression tests on MacOS X @@ -52,14 +81,15 @@ jobs: steps: - name: Install system packages run: | - brew install pkg-config sfml mosquitto glew + brew install pkg-config mosquitto raylib glfw glew - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true - name: Compile TimedPetriNetEditor run: | make download-external-libs + make compile-external-libs make -j`sysctl -n hw.logicalcpu` - name: Download, configure and install Google test run: | @@ -68,11 +98,11 @@ jobs: cd googletest-release-1.11.0 cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON . sudo make install - - name: Do non regression tests - run: | - cd tests - make -j`sysctl -n hw.logicalcpu` - ./build/TimedPetriNetEditor-UnitTest +# - name: Do non regression tests +# run: | +# cd tests +# make -j`sysctl -n hw.logicalcpu` +# ./build/TimedPetriNetEditor-UnitTest - name: Create the DMG file run: | hdiutil create -format UDZO -srcfolder build/TimedPetriNetEditor.app build/TimedPetriNetEditor.dmg diff --git a/Makefile b/Makefile index d12cb87..7c162d8 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # PROJECT = TimedPetriNetEditor TARGET = $(PROJECT) -DESCRIPTION = Test RayLib +DESCRIPTION = Timed Petri Net Editor STANDARD = --std=c++14 BUILD_TYPE = debug @@ -111,6 +111,17 @@ PKG_LIBS += libmosquitto # INCLUDES += -I$(THIRDPART)/json/include +################################################### +# OpenGL: glfw and glew libraries +# +ifeq ($(ARCHI),Darwin) +INCLUDES += -I/usr/local/include -I/opt/local/include +LINKER_FLAGS += -framework OpenGL -framework Cocoa +LINKER_FLAGS += -framework IOKit -framework CoreVideo +LINKER_FLAGS += -L/usr/local/lib -L/opt/local/lib +LINKER_FLAGS += -lGLEW -lglfw +endif + ################################################### # Make the list of compiled files for the application # diff --git a/src/Renderer/PetriEditor.cpp b/src/Renderer/PetriEditor.cpp index d478528..32826e9 100644 --- a/src/Renderer/PetriEditor.cpp +++ b/src/Renderer/PetriEditor.cpp @@ -210,7 +210,7 @@ static void messagebox(Editor const& editor) static void inputInteger(std::string const& title, size_t& tokens) { ImGui::AlignTextToFramePadding(); - ImGui::Text("%d", tokens); + ImGui::Text("%zu", tokens); ImGui::SameLine(); float spacing = ImGui::GetStyle().ItemInnerSpacing.x;