From 6780a8529636d0e859ad3e911e100b76045fe61b Mon Sep 17 00:00:00 2001 From: Andrea Pappacoda Date: Wed, 6 Aug 2025 16:13:12 +0200 Subject: [PATCH 1/2] Add GitHub CI, remove broken Travis one --- .github/workflows/build.yaml | 30 ++++++++++++++++++++++++++++++ .gitignore | 1 - .travis.yml | 33 --------------------------------- .travis/linux-build.sh | 13 ------------- .travis/macos-build.sh | 13 ------------- .travis/windows-build.sh | 11 ----------- README.md | 2 +- 7 files changed, 31 insertions(+), 72 deletions(-) create mode 100644 .github/workflows/build.yaml delete mode 100644 .travis.yml delete mode 100755 .travis/linux-build.sh delete mode 100755 .travis/macos-build.sh delete mode 100755 .travis/windows-build.sh diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..f71fed8 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,30 @@ +# SPDX-FileCopyrightText: 2025 Andrea Pappacoda +# SPDX-License-Identifier: MIT + +name: build + +on: push + +permissions: + contents: read + +jobs: + build: + strategy: + matrix: + os: [ 'ubuntu-latest', 'windows-latest', 'macos-latest' ] + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + + - name: Configure + run: cmake -B build + + - name: Build + run: cmake --build build --parallel + + - name: Test + working-directory: build + run: ctest --verbose diff --git a/.gitignore b/.gitignore index 11eb12c..daa60c7 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ test/ # Generated source files src/common/scm_rev.cpp -.travis.descriptor.json # Project/editor files *.swp diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index bb2b62b..0000000 --- a/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -language: cpp - -matrix: - include: - - env: NAME="Linux Build" - os: linux - dist: xenial - sudo: false - cache: - directories: - - $HOME/assets - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - gcc-7 - - g++-7 - script: ./.travis/linux-build.sh - - env: NAME="macOS Build" - os: osx - sudo: false - osx_image: xcode10 - cache: - directories: - - $HOME/assets - script: ./.travis/macos-build.sh - - env: NAME="Windows Build" - os: windows - cache: - directories: - - $HOME/assets - script: ./.travis/windows-build.sh diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh deleted file mode 100755 index 760c564..0000000 --- a/.travis/linux-build.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -set -e -set -x - -export CC=gcc-7 -export CXX=g++-7 -export CTEST_OUTPUT_ON_FAILURE=1 - -mkdir build && cd build -cmake .. -DCMAKE_BUILD_TYPE=Release -DTEAKRA_TEST_ASSETS_DIR="$HOME/assets" -DTEAKRA_RUN_TESTS=ON -cmake --build . -- -j"$(nproc)" -ctest -C Release diff --git a/.travis/macos-build.sh b/.travis/macos-build.sh deleted file mode 100755 index 80a29d8..0000000 --- a/.travis/macos-build.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -set -e -set -x -set -o pipefail - -export MACOSX_DEPLOYMENT_TARGET=10.14 -export CTEST_OUTPUT_ON_FAILURE=1 - -mkdir build && cd build -cmake .. -GXcode -DCMAKE_BUILD_TYPE=Release -DTEAKRA_TEST_ASSETS_DIR="$HOME/assets" -DTEAKRA_RUN_TESTS=ON -xcodebuild -configuration Release -jobs 2 -ctest -C Release diff --git a/.travis/windows-build.sh b/.travis/windows-build.sh deleted file mode 100755 index 3c71c8e..0000000 --- a/.travis/windows-build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -set -e -set -x - -# export CTEST_OUTPUT_ON_FAILURE=1 - -mkdir build && cd build -cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=Release -DTEAKRA_TEST_ASSETS_DIR="$HOME/assets" -DTEAKRA_RUN_TESTS=OFF -cmake --build . -- -maxcpucount -# ctest -C Release diff --git a/README.md b/README.md index bbc4d60..3e72288 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Teakra -[![Build Status](https://travis-ci.com/wwylele/teakra.svg?branch=master)](https://travis-ci.com/wwylele/teakra) +[![Build Status](https://github.com/wwylele/teakra/actions/workflows/build.yaml/badge.svg)](https://github.com/wwylele/teakra/actions/workflows/build.yaml) [![Build status](https://ci.appveyor.com/api/projects/status/mxr5tg4v8dafyqec/branch/master?svg=true)](https://ci.appveyor.com/project/wwylele/teakra/branch/master) Emulator, (dis-)assembler, tools and documentation for XpertTeak, the DSP used by DSi/3DS. From 64f310161198cc8f017d0ccab369ad7d3c065245 Mon Sep 17 00:00:00 2001 From: Andrea Pappacoda Date: Wed, 6 Aug 2025 16:22:31 +0200 Subject: [PATCH 2/2] build: only pass -Wno-error=maybe-uninitialized to GCC It's not supported by Clang --- CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 83b546b..e220af5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,10 +63,14 @@ else() -pedantic -pedantic-errors -Wfatal-errors - -Wno-error=maybe-uninitialized -Wno-missing-braces -Wno-unused-parameter) + if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + list(APPEND TEAKRA_CXX_FLAGS + -Wno-error=maybe-uninitialized) + endif() + if (TEAKRA_WARNINGS_AS_ERRORS) list(APPEND TEAKRA_CXX_FLAGS -Werror)