Github Actions cmake and clang [ci skip]

This commit is contained in:
Pentarctagon 2020-11-20 16:54:24 -06:00
parent 2ab0ceea09
commit 84e699fbc2
No known key found for this signature in database
GPG key ID: 9456BC54A21DBFA0
3 changed files with 88 additions and 10 deletions

View file

@ -43,4 +43,42 @@ jobs:
key: linux-02-master
- name: Ubuntu 20.04
run: ./.github/workflows/ci-scripts/ubuntu.sh master 2004 false scons gcc g++ 14 release false
run: ./.github/workflows/ci-scripts/ubuntu.sh master 2004 false scons clang clang++ 14 debug false
linux-03-master:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- name: Cache object files
uses: actions/cache@v2
env:
cache-name: linux-03-cache-master
with:
path: ~/build-cache
key: linux-03-master
- name: Ubuntu 20.04
run: ./.github/workflows/ci-scripts/ubuntu.sh master 2004 false cmake clang clang++ 14 release false
linux-04-master:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- name: Cache object files
uses: actions/cache@v2
env:
cache-name: linux-04-cache-master
with:
path: ~/build-cache
key: linux-04-master
- name: Ubuntu 20.04
run: ./.github/workflows/ci-scripts/ubuntu.sh master 2004 false cmake gcc g++ 14 debug false

View file

@ -7,14 +7,10 @@ echo "NLS: $NLS"
echo "TOOL: $TOOL"
echo "CC: $CC"
echo "CXX: $CXX"
echo "CXXSTD: $CXXSTD"
echo "CXX_STD: $CXX_STD"
echo "CFG: $CFG"
echo "LTO: $LTO"
scons wesnoth wesnothd campaignd boost_unit_tests build="$CFG" \
ctool="$CC" cxxtool="$CXX" cxx_std="$CXX_STD" \
extra_flags_config="-pipe" strict=true forum_user_handler=true \
nls="$NLS" enable_lto="$LTO" jobs=2 --debug=time
echo "CACHE_DIR: $CACHE_DIR"
# set the fake display for unit tests
export DISPLAY=:99.0
@ -40,7 +36,49 @@ checkindent() {
git diff-index --quiet HEAD
}
EXIT_VAL=0
EXIT_VAL=-1
if [ "$NLS" == "only" ]; then
elif [ "$IMAGE" == "flatpak" ]; then
elif [ "$IMAGE" == "mingw" ]; then
elif [ "$IMAGE" == "steamrt" ]; then
else
if [ "$TOOL" == "cmake" ]; then
export CCACHE_MAXSIZE=3000M
export CCACHE_COMPILERCHECK=content
export CCACHE_DIR="$CACHE_DIR"
cmake -DCMAKE_BUILD_TYPE="$CFG" -DENABLE_GAME=true -DENABLE_SERVER=true -DENABLE_CAMPAIGN_SERVER=true -DENABLE_TESTS=true -DENABLE_NLS="$NLS" \
-DEXTRA_FLAGS_CONFIG="-pipe" -DENABLE_STRICT_COMPILATION=true -DENABLE_LTO="$LTO" -DLTO_JOBS=2 -DENABLE_MYSQL=true \
-DCXX_STD="$CXX_STD" -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache && \
make VERBOSE=1 -j2
EXIT_VAL=$?
ccache -s
ccache -z
# remove once 1804 isn't used anymore
elif [ "$IMAGE" == "1804" ]; then
scons wesnoth wesnothd campaignd boost_unit_tests build="$CFG" \
ctool="$CC" cxxtool="$CXX" cxx_std="$CXX_STD" \
extra_flags_config="-pipe" strict=true forum_user_handler=false \
nls="$NLS" enable_lto="$LTO" jobs=2 --debug=time
EXIT_VAL=$?
else
scons wesnoth wesnothd campaignd boost_unit_tests build="$CFG" \
ctool="$CC" cxxtool="$CXX" cxx_std="$CXX_STD" \
extra_flags_config="-pipe" strict=true forum_user_handler=true \
nls="$NLS" enable_lto="$LTO" jobs=2 --debug=time
EXIT_VAL=$?
fi
fi
if [ $EXIT_VAL != 0 ]; then
exit $EXIT_VAL
fi
execute "WML validation" ./utils/travis/schema_validation.sh
execute "WML indentation check" checkindent

View file

@ -9,6 +9,7 @@ export CXX="$6"
export CXX_STD="$7"
export CFG="$8"
export LTO="$9"
export CACHE_DIR="/home/wesnoth-travis/build"
echo "Using linux:"
echo "BRANCH: $BRANCH"
@ -20,6 +21,7 @@ echo "CXX: $CXX"
echo "CXXSTD: $CXXSTD"
echo "CFG: $CFG"
echo "LTO: $LTO"
echo "CACHE_DIR: $CACHE_DIR"
echo FROM wesnoth/wesnoth:"$IMAGE"-"$BRANCH" > utils/dockerbuilds/travis/Dockerfile-travis-"$IMAGE"-"$BRANCH"
echo COPY ./ /home/wesnoth-travis/ >> utils/dockerbuilds/travis/Dockerfile-travis-"$IMAGE"-"$BRANCH"
@ -28,7 +30,7 @@ echo WORKDIR /home/wesnoth-travis >> utils/dockerbuilds/travis/Dockerfile-travis
docker build -t wesnoth-repo:"$IMAGE"-"$BRANCH" -f utils/dockerbuilds/travis/Dockerfile-travis-"$IMAGE"-"$BRANCH" .
docker run --cap-add=ALL --privileged \
--volume ~/build-cache:/home/wesnoth-travis/build \
--volume ~/build-cache:"$CACHE_DIR" \
--env BRANCH --env IMAGE --env NLS --env TOOL --env CC --env CXX \
--env CXX_STD --env CFG --env LTO \
--env CXX_STD --env CFG --env LTO --env CACHE_DIR \
wesnoth-repo:"$IMAGE"-"$BRANCH" ./.github/workflows/ci-scripts/docker.sh