Commit 8e446de1 authored by Ole Christian Eidheim's avatar Ole Christian Eidheim
Browse files

Updated CI

parent 104138be
Pipeline #24124346 passed with stage
in 5 minutes and 21 seconds
cd ${APPVEYOR_BUILD_FOLDER}
mkdir -p build
cd build
export PATH="/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"
exec sh -c "cmake -G\"MSYS Makefiles\" -DCMAKE_INSTALL_PREFIX=/mingw64 -DBUILD_TESTING=1 .. && make && make test"
platform:
- x64
environment:
MSYSTEM: MSYS
CTEST_OUTPUT_ON_FAILURE: 1
before_build:
- C:\msys64\usr\bin\pacman --noconfirm --ask 20 --sync --refresh --sysupgrade
- C:\msys64\usr\bin\pacman --noconfirm --sync --refresh pacman
- C:\msys64\usr\bin\pacman --noconfirm --sync --refresh git
- C:\msys64\usr\bin\pacman --noconfirm --needed --sync mingw-w64-x86_64-cmake make mingw-w64-x86_64-toolchain mingw-w64-x86_64-clang
build_script:
- C:\msys64\usr\bin\bash -lc "$(cygpath ${APPVEYOR_BUILD_FOLDER})/.appveyor.sh"
  • @zalox I added the .appveyor files as in jucipp, but I guess you have to activate Appveyor integration to libclangmm. Also, is it possible to put the commands in .appveyor.sh in .appveyor.yml file instead? Seems unnecessary to have two files as we have now?

  • Hi @eidheim!

    I added the .appveyor files as in jucipp, but I guess you have to activate Appveyor integration to libclangmm.

    Will do! I was planning on updating the CI for libclangmm and for the docker images this week, but I haven't had the time.

    is it possible to put the commands in .appveyor.sh in .appveyor.yml file instead?

    Yes, it probably is, but I didn't want to spend to much time on figuring out how.

    Seems unnecessary to have two files as we have now?

    The only reason I did it is to have a bash env. instead of a cmd env.

Please register or sign in to reply
.script: &compile
script:
- mkdir build
- cd build
- scan-build cmake ..
- scan-build --status-bugs make -j$(nproc)
- rm -r *
- cmake -DBUILD_TESTING=1 ..
- make -j$(nproc)
- CTEST_OUTPUT_ON_FAILURE=1 make test
ubuntu:
image: cppit/jucipp:ubuntu
<<: *compile
fedora:
image: cppit/jucipp:fedora
<<: *compile
arch:
image: cppit/jucipp:arch
<<: *compile
debian-testing:
image: cppit/jucipp:debian-testing
<<: *compile
debian:
image: cppit/jucipp:debian
<<: *compile
sudo: required
env:
- distribution: ubuntu
- distribution: fedora
- distribution: arch
- distribution: debian-testing
- distribution: debian
services:
- docker
before_install:
- ./ci/update_ci.sh
script:
- script=static_analysis ./ci/execute.sh
- script=clean ./ci/execute.sh
- script=compile CXX=g++ CC=gcc ./ci/execute.sh
- script=compile make_command="CTEST_OUTPUT_ON_FAILURE=1 make test" ./ci/execute.sh
# libclangmm [![Build Status](https://travis-ci.org/cppit/libclangmm.svg?branch=master)](https://travis-ci.org/cppit/libclangmm) [![Build status](https://ci.appveyor.com/api/projects/status/bqcva8fovxu31yp3/branch/master?svg=true)](https://ci.appveyor.com/project/zalox/libclangmm/branch/master)
# libclangmm
###### an easy-to-use C++ wrapper for libclang
......
platform:
- x64
environment:
MSYSTEM: MSYS
before_build:
- C:\msys64\usr\bin\pacman --noconfirm --sync --refresh --refresh pacman
- C:\msys64\usr\bin\pacman --noconfirm --sync --refresh --refresh git
- C:\msys64\usr\bin\pacman --noconfirm --sync --refresh --refresh --sysupgrade --sysupgrade
- C:\msys64\usr\bin\bash -lc "$(cygpath ${APPVEYOR_BUILD_FOLDER})/ci/update_ci.sh"
build_script:
- C:\msys64\usr\bin\bash -lc "script=compile $(cygpath ${APPVEYOR_BUILD_FOLDER})/ci/execute.sh"
- C:\msys64\usr\bin\bash -lc "script=compile make_command='CTEST_OUTPUT_ON_FAILURE=1 make test' $(cygpath ${APPVEYOR_BUILD_FOLDER})/ci/execute.sh"
#!/bin/bash
if [ "${cmake_command}" == "" ]; then
if [ "$APPVEYOR" != "" ]; then
if [ "$PLATFORM" == "x64" ]; then
mingw="mingw64"
else
mingw="mingw32"
fi
cmake_command="cmake -G\"MSYS Makefiles\" -DCMAKE_INSTALL_PREFIX=/${mingw} -DBUILD_TESTING=1 .."
make_command="make"
else
cmake_command="cmake -DBUILD_TESTING=1 .."
fi
fi
if [ "${make_command}" == "" ]; then
make_command="make -j 2"
fi
cd libclangmm || echo "Can't cd into libclangmm"
mkdir -p build && cd build || echo "Error making build directory"
sh -c "${cmake_command}" || echo "Cmake configuration failed"
exec sh -c "${make_command}"
#!/bin/bash
function linux () {
cd ci || exit
if [ "${script}" == "clean" ]; then
sudo rm ../build -rf
return 0
fi
sudo docker run -it \
-e "CXX=$CXX" \
-e "CC=$CC" \
-e "make_command=$make_command" \
-e "cmake_command=$cmake_command" \
-e "distribution=$distribution" \
-v "$PWD/../:/libclangmm" \
--entrypoint="/libclangmm/ci/${script}.sh" \
"cppit/jucipp:$distribution"
}
function windows () {
export PATH="/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"
bf=$(cygpath ${APPVEYOR_BUILD_FOLDER})
cd "$bf" || (echo "Error changing directory"; return 1)
if [ "${script}" == "clean" ]; then
sudo rm "./build" -rf
return 0
fi
sh -c "${bf}/ci/${script}.sh"
}
if [ "$TRAVIS_OS_NAME" == "" ]; then
TRAVIS_OS_NAME=windows
fi
$TRAVIS_OS_NAME
#!/bin/bash
if [ "${cmake_command}" == "" ]; then
cmake_command="scan-build cmake .."
fi
if [ "${make_command}" == "" ]; then
make_command="scan-build --status-bugs make -j 2"
fi
cd libclangmm || echo "Can't cd into libclangmm"
mkdir -p build && cd build || echo "Error making build directory"
sh -c "${cmake_command}" || echo "Cmake configuration failed"
exec sh -c "${make_command}"
#!/bin/bash
function linux () {
sudo apt-get update
sudo apt-get purge lxc-docker
sudo apt-get install --yes --force-yes -o Dpkg::Options::="--force-confnew" linux-image-extra-$(uname -r) docker-engine
sudo service docker stop || exit
sudo rm -rf /var/lib/docker || exit
sudo service docker start || exit
}
function brew_install() {
(brew outdated "$1" || brew install $1) || (echo "Error installing $1"; return 1)
}
function osx () {
brew update || return 1
brew uninstall llvm --force || return 1
brew upgrade --all || return 1
brew update || return 1
brew upgrade --all || return 1
brew install --with-clang llvm
brew_install "boost" || return 1
brew_install "aspell" || return 1
brew_install "clang-format" || return 1
brew_install "pkg-config" || return 1
brew_install "gtksourceviewmm3" || return 1
}
function windows () {
arch=x86_64
if [ "$PLATFORM" == "x86" ]; then
arch=i686
fi
sh -c "pacman -S --noconfirm git mingw-w64-${arch}-cmake make mingw-w64-${arch}-toolchain mingw-w64-${arch}-clang mingw-w64-${arch}-gtkmm3 mingw-w64-${arch}-gtksourceviewmm3 mingw-w64-${arch}-boost mingw-w64-${arch}-aspell mingw-w64-${arch}-aspell-en mingw-w64-${arch}-libgit2"
}
if [ "$TRAVIS_OS_NAME" == "" ]; then
TRAVIS_OS_NAME=windows
fi
$TRAVIS_OS_NAME
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment