Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch from Travis to GitHub Actions #730

Merged
merged 17 commits into from
Sep 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
165 changes: 165 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
name: cesium-native
on: [push, pull_request]
jobs:
QuickChecks:
name: "Quick Checks"
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Check source formatting
run: |
npm install
npm run format -- --dry-run -Werror
Documentation:
runs-on: ubuntu-latest
steps:
- name: Install Doxygen
run: |
sudo apt install -y doxygen
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Generate Documentation
run: |
cmake -B build -S .
cmake --build build --target cesium-native-docs
- name: Publish Documentation Artifact
if: ${{ success() }}
uses: actions/upload-artifact@v3
csciguy8 marked this conversation as resolved.
Show resolved Hide resolved
with:
name: ReferenceDocumentation
path: build/doc/html
VS2019:
name: "Windows + VS2019"
runs-on: windows-2019
steps:
- name: Install nasm
run: |
choco install -y nasm
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build -S .
cmake --build build --config Debug --parallel 4
- name: Test Debug Configuration
run: |
cd build
ctest -V
- name: Compile RelWithDebInfo Configuration
csciguy8 marked this conversation as resolved.
Show resolved Hide resolved
run: |
cmake --build build --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build
ctest -V
VS2022:
name: "Windows + VS2022"
csciguy8 marked this conversation as resolved.
Show resolved Hide resolved
runs-on: windows-2022
steps:
- name: Install nasm
run: |
choco install -y nasm
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build -S .
cmake --build build --config Debug --parallel 4
- name: Test Debug Configuration
run: |
cd build
ctest -V
- name: Compile RelWithDebInfo Configuration
run: |
cmake --build build --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build
ctest -V
LinuxGCC:
name: "Linux + GCC"
runs-on: ubuntu-latest
steps:
- name: Install nasm
run: |
sudo apt-get install nasm
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build-debug -S . -DCMAKE_BUILD_TYPE:STRING=Debug
cmake --build build-debug --parallel 4
csciguy8 marked this conversation as resolved.
Show resolved Hide resolved
- name: Test Debug Configuration
run: |
cd build-debug
ctest -V
- name: Compile RelWithDebInfo Configuration
run: |
cmake -B build-release -S . -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
cmake --build build-release --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build-release
ctest -V
LinuxClang:
name: "Linux + Clang"
runs-on: ubuntu-20.04
env:
CC: clang-12
CXX: clang++-12
steps:
- name: Install nasm
run: |
sudo apt-get install nasm
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build-debug -S . -DCMAKE_BUILD_TYPE:STRING=Debug
cmake --build build-debug --parallel 4
- name: Test Debug Configuration
run: |
cd build-debug
ctest -V
- name: Compile RelWithDebInfo Configuration
run: |
cmake -B build-release -S . -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
cmake --build build-release --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build-release
ctest -V
macOS:
runs-on: macos-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Compile Debug Configuration
run: |
cmake -B build-debug -S . -DCMAKE_BUILD_TYPE:STRING=Debug
cmake --build build-debug --parallel 4
- name: Test Debug Configuration
run: |
cd build-debug
ctest -V
- name: Compile RelWithDebInfo Configuration
run: |
cmake -B build-release -S . -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
cmake --build build-release --config RelWithDebInfo --parallel 4
- name: Test RelWithDebInfo Configuration
run: |
cd build-release
ctest -V
67 changes: 0 additions & 67 deletions .travis.yml

This file was deleted.

4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

### ? - ?

##### Breaking Changes :mega:

- Cesium Native is now only regularly tested on Visual Studio 2019+, GCC 11.x+, and Clang 12+. Other compilers - including older ones - are likely to work, but are not tested.

##### Additions :tada:

- Added `getClass` to `PropertyTableView`, `PropertyTextureView`, and `PropertyAttributeView`. This can be used to retrieve the metadata `Class` associated with the view.
Expand Down
2 changes: 1 addition & 1 deletion CesiumAsync/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ target_link_libraries(CesiumAsync
PUBLIC
CesiumUtility
GSL
Async++
PRIVATE
sqlite3
)

# These libraries erroneously do NOT list their headers as `SYSTEM` headers
target_link_libraries_system(CesiumAsync PUBLIC
spdlog
Async++
)

install(TARGETS CesiumAsync
Expand Down
2 changes: 1 addition & 1 deletion CesiumAsync/include/CesiumAsync/Impl/cesium-async++.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable : 4458 4324)
#pragma warning(disable : 4458 4324 4702)
#endif

#ifndef _MSC_VER
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ Cesium Native powers Cesium's runtime integrations for [Cesium for Unreal](https

### ⭐Prerequisites

* Visual Studio 2017 (or newer), GCC v7.x+, Clang 10+. Other compilers may work but haven't been tested.
* CMake
* Visual Studio 2019 (or newer), GCC v11.x+, Clang 12+. Other compilers are likely to work but are not regularly tested.
* CMake 3.15+
* For best JPEG-decoding performance, you must have [nasm](https://www.nasm.us/) installed so that CMake can find it. Everything will work fine without it, just slower.

### :rocket:Getting Started
Expand Down