From 0fd92b6c3775cb59bafc81d9c02e9b5b9699861e Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Wed, 30 Sep 2020 09:53:55 -0400 Subject: [PATCH 1/3] git rm hyper.html This build artifact should not be checked in. --- hyper.html | 1300 ---------------------------------------------------- 1 file changed, 1300 deletions(-) delete mode 100644 hyper.html diff --git a/hyper.html b/hyper.html deleted file mode 100644 index c229a733..00000000 --- a/hyper.html +++ /dev/null @@ -1,1300 +0,0 @@ - - - - - - Emscripten-Generated Code - - - - - image/svg+xml - - -
-
Downloading...
- - - Resize canvas - Lock/hide mouse pointer     - - - - -
- -
- - -
- -
- - - - - - - - From 3a29576d9f5eb65f9c74c692be2ea28c9e181fdb Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Wed, 30 Sep 2020 09:35:11 -0400 Subject: [PATCH 2/3] Add build steps to check the committed files against "make clean". If "make clean" on a new checkout causes diffs, you accidentally committed one of the build products currently listed in "make clean", and you should `git rm` it again. If "make clean" on a dirty/built checkout causes diffs, then either (1) the "make" process modified some tracked file which is not removed by "make clean", i.e. either (1A) it is a build product which needs to be `git rm`ed AND added under "make clean", or (1B) the build process is modifying some source file, which is highly weird and shouldn't happen; or else (2) "make" created some untracked file which is not removed by "make clean", i.e., you should add that build product to "make clean". The Travis build that uses "mymake" now does the same "mv" trick as Github CI, to avoid having the executable sometimes named "./hyperrogue" and sometimes named "./hyper". Why are these filenames different, anyway? --- .travis.yml | 19 +++++++++++++++++-- Makefile.am | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5da342ab..1b1db059 100644 --- a/.travis.yml +++ b/.travis.yml @@ -177,6 +177,12 @@ before_install: fi script: +- |- + make -f Makefile.simple clean + if [[ "$(git status --porcelain)" ]]; then + git status + exit 'A build artifact was committed; git rm it and try again' + fi - |- # Build hyperrogue. if [[ "$TRAVIS_BUILD_SYSTEM" == "autotools" ]]; then @@ -192,6 +198,7 @@ script: else ./mymake fi + mv hyper hyperrogue elif [[ "$TRAVIS_BUILD_SYSTEM" == "emscripten" ]]; then docker run --rm -v $(pwd):/src trzeci/emscripten make -f Makefile.simple emscripten else @@ -201,11 +208,19 @@ script: # Test hyperrogue. if [[ "$TRAVIS_BUILD_SYSTEM" == "emscripten" ]]; then ls -lAF hyper.html hyper.js hyper.wasm - elif [[ "$TRAVIS_BUILD_SYSTEM" == "mymake" ]]; then - ./hyper --help else ./hyperrogue --help fi +- |- + if [[ "$TRAVIS_BUILD_SYSTEM" == "autotools" ]]; then + make clean + else + make -f Makefile.simple clean + fi + if [[ "$(git status --porcelain)" ]]; then + git status + exit 'make clean did not return the repository to its pre-build state' + fi - |- # Test "make dist". ("make distcheck" is expected to fail.) if [[ "$TRAVIS_BUILD_SYSTEM" == "autotools" ]]; then make dist; fi diff --git a/Makefile.am b/Makefile.am index 3f9f2060..491782c7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,6 +21,7 @@ langen_SOURCES = langen.cpp langen_CXXFLAGS = -O0 -std=c++11 ${AM_CXXFLAGS} makeh_SOURCES = makeh.cpp BUILT_SOURCES = language-data.cpp autohdr.h +CLEANFILES = language-data.cpp autohdr.h language-data.cpp: langen ./langen > language-data.cpp From 60fa736904b56d9bd15f3d1e035c72e6af611706 Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Wed, 10 Mar 2021 16:37:15 -0500 Subject: [PATCH 3/3] Use OSX 10.15 and Ubuntu Bionic for all TravisCI runs. Ideally we'd just say "use the default OS version" and have it auto-upgrade as Travis upgrades their stuff, with no work on our part. Unfortunately, Travis has let their default OSX image lag so far back (it's now 10.13) that Homebrew has started refusing to install GLEW without the `--build-from-source` flag. So, sign up for some extra maintenance work. --- .travis.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1b1db059..2f41e33b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: cpp +dist: bionic services: - docker matrix: @@ -12,6 +13,7 @@ matrix: HYPERROGUE_USE_GLEW=1 HYPERROGUE_USE_PNG=1 - os: osx # OSX, autotools + osx_image: xcode12.2 compiler: clang env: >- TRAVIS_OS_NAME=osx @@ -36,7 +38,6 @@ matrix: HYPERROGUE_USE_GLEW=1 HYPERROGUE_USE_PNG=0 - os: linux # Linux GCC, make, Rogueviz - dist: bionic compiler: gcc env: >- TRAVIS_OS_NAME=linux @@ -63,6 +64,7 @@ matrix: HYPERROGUE_USE_PNG=1 HYPERROGUE_USE_ROGUEVIZ=1 - os: osx # OSX, make + osx_image: xcode12u compiler: clang env: >- TRAVIS_OS_NAME=osx @@ -71,6 +73,7 @@ matrix: HYPERROGUE_USE_GLEW=1 HYPERROGUE_USE_PNG=1 - os: osx # OSX, make, no libpng + osx_image: xcode11.6 compiler: clang env: >- TRAVIS_OS_NAME=osx @@ -79,6 +82,7 @@ matrix: HYPERROGUE_USE_GLEW=1 HYPERROGUE_USE_PNG=0 - os: osx # OSX, make, Rogueviz + osx_image: xcode11.5 compiler: clang env: >- TRAVIS_OS_NAME=osx @@ -96,7 +100,6 @@ matrix: HYPERROGUE_USE_GLEW=1 HYPERROGUE_USE_PNG=1 - os: linux # Linux GCC, mymake, Rogueviz - dist: bionic compiler: gcc env: >- TRAVIS_OS_NAME=linux @@ -106,6 +109,7 @@ matrix: HYPERROGUE_USE_PNG=1 HYPERROGUE_USE_ROGUEVIZ=1 - os: osx # OSX, mymake + osx_image: xcode11.4 compiler: clang env: >- TRAVIS_OS_NAME=osx @@ -114,6 +118,7 @@ matrix: HYPERROGUE_USE_GLEW=1 HYPERROGUE_USE_PNG=1 - os: osx # OSX, mymake, Rogueviz + osx_image: xcode11.3 compiler: clang env: >- TRAVIS_OS_NAME=osx