From 0709cd0b20c619ae6b070b3f55fed7fa90ee7731 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 00:06:59 -0400 Subject: [PATCH 01/15] Create cmake.yml Add some starter files for cmake based CI --- .github/workflows/cmake.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/cmake.yml diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml new file mode 100644 index 0000000..e6073dc --- /dev/null +++ b/.github/workflows/cmake.yml @@ -0,0 +1,37 @@ +name: CMake + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +jobs: + build: + # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. + # You can convert this to a matrix build if you need cross-platform coverage. + # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + - name: Test + working-directory: ${{github.workspace}}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: ctest -C ${{env.BUILD_TYPE}} + From 32bae4a0481fe1f650be854695168f339312e950 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 00:07:51 -0400 Subject: [PATCH 02/15] Modify README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 080d1bb..dec646a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# facade +# façade +Native 3D GLTF scene viewer and editor (WIP) **A native 3D GLTF scene viewer and editor (WIP)** From 190466d966bf8a59a5af78d81856a5421156d5bc Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 00:14:48 -0400 Subject: [PATCH 03/15] Add jetbrains specific items --- .gitignore | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/.gitignore b/.gitignore index f9003bc..418a078 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,57 @@ out/* .cache .DS_Store +# Jetbrain's specific + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Editor-based Rest Client +.idea/httpRequests + +# END Jetbrains specific items + + CMakeSettings.json compile_commands.json /CMakeUserPresets.json From 07d2ef05c0072130bae58b184833411413413405 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 00:29:23 -0400 Subject: [PATCH 04/15] Update cmake.yml --- .github/workflows/cmake.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index e6073dc..e4078d8 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -20,6 +20,9 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Install Vulcan dependencies + run: sudo apt-get install xorg-dev libglu1-mesa-dev + - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type From d49b67c2b1d34958332721bab301d6de594894f2 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 00:34:50 -0400 Subject: [PATCH 05/15] Update cmake.yml --- .github/workflows/cmake.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index e4078d8..c851a74 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -20,6 +20,12 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Update our packages + run: sudo apt-get update + + - name: Get the c++ compiler + run: sudo apt-get install g++ + - name: Install Vulcan dependencies run: sudo apt-get install xorg-dev libglu1-mesa-dev From 7e5fec1d9d1d8ac74ed717aa1aa4e43e98161aca Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 00:37:34 -0400 Subject: [PATCH 06/15] Update cmake.yml --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index c851a74..dab1ab3 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -24,7 +24,7 @@ jobs: run: sudo apt-get update - name: Get the c++ compiler - run: sudo apt-get install g++ + run: sudo apt-get install g++-10 - name: Install Vulcan dependencies run: sudo apt-get install xorg-dev libglu1-mesa-dev From ba02f29c1fbac7ea417298857cd33dcbb79a32a3 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 00:54:50 -0400 Subject: [PATCH 07/15] Update cmake.yml --- .github/workflows/cmake.yml | 66 +++++++++++++++---------------------- 1 file changed, 27 insertions(+), 39 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index dab1ab3..2712f5f 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -1,46 +1,34 @@ -name: CMake +name: Build & Test on: push: - branches: [ "main" ] + tags-ignore: v*.* + branches: + - '*' pull_request: - branches: [ "main" ] - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Release - + branches: + - '*' jobs: build: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: ubuntu-latest - + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [windows-latest, ubuntu-latest] + include: + - os: windows-latest + install: choco install ninja + - os: ubuntu-latest + install: | + sudo apt-get install xorg-dev libglu1-mesa-dev + sudo apt install -yqq ninja-build steps: - - uses: actions/checkout@v3 - - - name: Update our packages - run: sudo apt-get update - - - name: Get the c++ compiler - run: sudo apt-get install g++-10 - - - name: Install Vulcan dependencies - run: sudo apt-get install xorg-dev libglu1-mesa-dev - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - - - name: Test - working-directory: ${{github.workspace}}/build - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest -C ${{env.BUILD_TYPE}} - + - uses: actions/checkout@v2 + - name: install + shell: bash + run: ${{ matrix.install }} + - name: build-Release + shell: bash + run: | + cp cmake/CMakePresets.json . + cmake -DBUILD_DIR=build -DBUILD_CONFIG=Release -P cmake/build.cmake + cd build/Release && ctest From d0722322efdfa132b256d4abf8b666e59f4a5e56 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 00:56:56 -0400 Subject: [PATCH 08/15] Update cmake.yml --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 2712f5f..4459c71 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -29,6 +29,6 @@ jobs: - name: build-Release shell: bash run: | - cp cmake/CMakePresets.json . + cp CMakePresets.json . cmake -DBUILD_DIR=build -DBUILD_CONFIG=Release -P cmake/build.cmake cd build/Release && ctest From 9716722331ddc834d0be6a739910e93c3b925b1d Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 01:02:43 -0400 Subject: [PATCH 09/15] Update cmake.yml --- .github/workflows/cmake.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 4459c71..b0f5361 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -29,6 +29,5 @@ jobs: - name: build-Release shell: bash run: | - cp CMakePresets.json . cmake -DBUILD_DIR=build -DBUILD_CONFIG=Release -P cmake/build.cmake cd build/Release && ctest From 2fe4a61f37474ef3020632334cf5cb86e752c3a3 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 01:07:17 -0400 Subject: [PATCH 10/15] Last change for the night --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index b0f5361..1a65373 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -29,5 +29,5 @@ jobs: - name: build-Release shell: bash run: | - cmake -DBUILD_DIR=build -DBUILD_CONFIG=Release -P cmake/build.cmake + cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} cd build/Release && ctest From f24b875de67c1ddc196a67b256035ba3a5027b85 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 01:10:42 -0400 Subject: [PATCH 11/15] Ok ACTUAL last one --- .github/workflows/cmake.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 1a65373..3e7bd06 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -30,4 +30,6 @@ jobs: shell: bash run: | cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - cd build/Release && ctest + cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + ctest -C ${{env.BUILD_TYPE}} + From b5738f1dfb910e8cea711c2476f94b5bf40d5976 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 23:31:06 -0400 Subject: [PATCH 12/15] Hopefully this works Attempting to get linux to build with ci --- .github/workflows/cmake.yml | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 3e7bd06..a4b4a2e 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -9,27 +9,21 @@ on: branches: - '*' jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [windows-latest, ubuntu-latest] - include: - - os: windows-latest - install: choco install ninja - - os: ubuntu-latest - install: | - sudo apt-get install xorg-dev libglu1-mesa-dev - sudo apt install -yqq ninja-build + build-linux: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: install - shell: bash - run: ${{ matrix.install }} - - name: build-Release - shell: bash + - name: init run: | - cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - ctest -C ${{env.BUILD_TYPE}} - + sudo apt install -yqq ninja-build xorg-dev g++-11 + sudo apt-get install xorg-dev libglu1-mesa-dev + - name: configure clang + run: cmake -S . --preset=default -B build + - name: configure gcc + run: cmake -S . -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-11 -B plain_build + - name: build clang + run: cmake --build build + - name: build gcc + run: cmake --build plain_build + - name: test + run: cd build && ctest From 2b5fb44903d144c60809d75ba5f5b82df0206b4d Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Thu, 20 Oct 2022 23:58:44 -0400 Subject: [PATCH 13/15] Update cmake.yml --- .github/workflows/cmake.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index a4b4a2e..e29f565 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -17,12 +17,8 @@ jobs: run: | sudo apt install -yqq ninja-build xorg-dev g++-11 sudo apt-get install xorg-dev libglu1-mesa-dev - - name: configure clang - run: cmake -S . --preset=default -B build - name: configure gcc run: cmake -S . -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-11 -B plain_build - - name: build clang - run: cmake --build build - name: build gcc run: cmake --build plain_build - name: test From 5899bee6df0a099775a2b7593c46b0e75ba16858 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Fri, 21 Oct 2022 00:02:02 -0400 Subject: [PATCH 14/15] Update cmake.yml --- .github/workflows/cmake.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index e29f565..aed9849 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -15,10 +15,10 @@ jobs: - uses: actions/checkout@v2 - name: init run: | - sudo apt install -yqq ninja-build xorg-dev g++-11 + sudo apt install -yqq ninja-build xorg-dev g++-12 sudo apt-get install xorg-dev libglu1-mesa-dev - name: configure gcc - run: cmake -S . -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-11 -B plain_build + run: cmake -S . -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-12 -B plain_build - name: build gcc run: cmake --build plain_build - name: test From 650cf6c4a6573803ca9359e53ce80d8c1cc71925 Mon Sep 17 00:00:00 2001 From: Ian Pike Date: Fri, 21 Oct 2022 00:04:36 -0400 Subject: [PATCH 15/15] Update cmake.yml --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index aed9849..c22280e 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -10,7 +10,7 @@ on: - '*' jobs: build-linux: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - name: init