From e506f77e8f6ddeb3e114a3b7e3ce5f114192d801 Mon Sep 17 00:00:00 2001 From: 1138-4EB <1138-4EB@users.noreply.github.com> Date: Thu, 21 Nov 2019 17:39:24 +0000 Subject: Actions: add workflow 'push' (#1016) * use CC=clang to build C sources on macOS * actions: ensure that shared libs are in the PATH on windows * ci: add GitHub Actions 'push' workflow * ci: fix group labels * dist: add GRAY to ansi_color * ci: use same scripts for GHA and Travis --- dist/travis/build.sh | 167 ----------------------------------------------- dist/travis/man.sh | 13 ---- dist/travis/travis-ci.sh | 110 ------------------------------- dist/travis/utils.sh | 107 ------------------------------ 4 files changed, 397 deletions(-) delete mode 100755 dist/travis/build.sh delete mode 100755 dist/travis/man.sh delete mode 100755 dist/travis/travis-ci.sh delete mode 100644 dist/travis/utils.sh (limited to 'dist/travis') diff --git a/dist/travis/build.sh b/dist/travis/build.sh deleted file mode 100755 index 59438ff56..000000000 --- a/dist/travis/build.sh +++ /dev/null @@ -1,167 +0,0 @@ -#! /bin/bash - -scriptdir=$(dirname $0) - -. "$scriptdir/utils.sh" -disable_color - -echo "$0" "$@" - -# Stop in case of error -set -e - -# Transform long options to short ones -for arg in "$@"; do - shift - case "$arg" in - "--color"|"-color") set -- "$@" "-c";; - "--build"|"-build") set -- "$@" "-b";; - "--pkg"|"-pkg") set -- "$@" "-p";; - "--gpl"|"-gpl") set -- "$@" "-g";; - "--synth"|"-synth") set -- "$@" "-s";; - *) set -- "$@" "$arg" - esac -done -# Parse args -while getopts ":b:p:cgs" opt; do - case $opt in - c) enable_color;; - b) BLD=$OPTARG ;; - p) PKG_NAME=$OPTARG;; - g) ISGPL=true;; - s) ISSYNTH=true;; - \?) printf "$ANSI_RED[GHDL - build] Invalid option: -$OPTARG $ANSI_NOCOLOR\n" >&2 - exit 1 ;; - :) printf "$ANSI_RED[GHDL - build] Option -$OPTARG requires an argument. $ANSI_NOCOLOR\n" >&2 - exit 1 ;; - esac -done - -rm -f build_ok - -#--- Env - -travis_start "env.docker" "$ANSI_YELLOW[Info] Environment $ANSI_NOCOLOR" -env -travis_finish "env.docker" - -#--- GPL: gpl-ize sources - -if [ "$ISGPL" = "true" ]; then - travis_start "gpl.src" "$ANSI_YELLOW[Source] create GPL sources $ANSI_NOCOLOR" - files=`echo *` - make -f Makefile.in srcdir=. clean-pure-gpl - mkdir ${PKG_NAME} - cp -pdrl $files ${PKG_NAME} - tar -zcf "${PKG_NAME}.tar.gz" ${PKG_NAME} - PKG_NAME="${PKG_NAME}-${BLD}" - travis_finish "gpl.src" -fi - -#--- Configure - -travis_start "configure" "$ANSI_YELLOW[GHDL - build] Configure $ANSI_NOCOLOR" -notime - -CDIR=$(pwd) -export prefix="$CDIR/install-$BLD" -mkdir "$prefix" -mkdir "build-$BLD" -cd "build-$BLD" - -if [ "x$ISSYNTH" = "xtrue" ]; then - CONFIG_OPTS+=" --enable-synth" -fi - -case "$BLD" in - gcc*) - travis_start "get_gcc" "$ANSI_YELLOW[GHDL] Get gcc sources $ANSI_NOCOLOR" - echo "https://github.com/gcc-mirror/gcc/archive/$(echo ${BLD} | sed -e 's/\./_/g')-release.tar.gz" - mkdir gcc-srcs - curl -L "https://github.com/gcc-mirror/gcc/archive/$(echo ${BLD} | sed -e 's/\./_/g')-release.tar.gz" | tar -xz -C gcc-srcs --strip-components=1 - cd gcc-srcs - sed -i.bak s/ftp:/http:/g ./contrib/download_prerequisites - ./contrib/download_prerequisites - cd .. - travis_finish "get_gcc" - - travis_start "configure_gcc" "$ANSI_YELLOW[GHDL] Configure gcc $ANSI_NOCOLOR" - ../configure --with-gcc=gcc-srcs --prefix="$prefix" - make copy-sources - mkdir gcc-objs; cd gcc-objs - ../gcc-srcs/configure --prefix="$prefix" --enable-languages=c,vhdl --disable-bootstrap --disable-lto --disable-multilib --disable-libssp --disable-libgomp --disable-libquadmath "`gcc -v 2>&1 | grep -o -- --enable-default-pie`" - travis_finish "configure_gcc" - ;; - mcode) - CXX="" - ;; - llvm) - CXX="clang" - CONFIG_OPTS+=" --with-llvm-config CXX=$CXX" - ;; - llvm-3.5) - CXX="clang++" - CONFIG_OPTS+=" --with-llvm-config=llvm-config-3.5 CXX=$CXX" - ;; - llvm-*) - llvmver=$(echo $BLD | sed -e "s/llvm-//") - CXX="clang++-$llvmver" - CONFIG_OPTS+=" --with-llvm-config=llvm-config-$llvmver CXX=$CXX" - ;; - *) - echo "$ANSI_RED[GHDL - build] Unknown build $BLD $ANSI_NOCOLOR" - exit 1;; -esac - -if [ ! "$(echo $BLD | grep gcc)" ]; then - echo "../configure --prefix=$prefix $CONFIG_OPTS" - ../configure "--prefix=$prefix" $CONFIG_OPTS -fi - -travis_finish "configure" -notime - -#--- make - -travis_start "make" "$ANSI_YELLOW[GHDL - build] Make $ANSI_NOCOLOR" -set +e -make LIB_CFLAGS="$LIB_CFLAGS" OPT_FLAGS="$OPT_FLAGS" -j$(nproc) 2>make_err.log -tail -1000 make_err.log -set -e -travis_finish "make" - -travis_start "install" "$ANSI_YELLOW[GHDL - build] Install $ANSI_NOCOLOR" -make install -cd .. -travis_finish "install" - -if [ "$(echo $BLD | grep gcc)" ]; then - travis_start "make_ghdllib" "$ANSI_YELLOW[GHDL - build] Make ghdllib $ANSI_NOCOLOR" - make ghdllib - travis_finish "make_ghdllib" - - travis_start "install_ghdllib" "$ANSI_YELLOW[GHDL - build] Install ghdllib $ANSI_NOCOLOR" - make install - cd .. - travis_finish "install_ghdllib" -fi - -#--- package - -travis_start "tar.bin" "$ANSI_YELLOW[GHDL - build] Create package ${ANSI_DARKCYAN}${PKG_NAME}.tgz $ANSI_NOCOLOR" -tar -zcvf "${PKG_NAME}.tgz" -C "$prefix" . -travis_finish "tar.bin" - -#--- build tools versions - -{ - make --version | grep 'Make' - gnatls --version | grep 'GNATLS' - gcc --version | grep 'gcc' - if [ "$CXX" != "" ]; then - $CXX --version | grep 'clang' - fi -} > BUILD_TOOLS - -#--- - -echo "[SUCCESSFUL]" -touch build_ok diff --git a/dist/travis/man.sh b/dist/travis/man.sh deleted file mode 100755 index ab00cb4c9..000000000 --- a/dist/travis/man.sh +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/bash - -rm -rf doc/_build/man/* - -set -e - -docker run --rm -it \ - -v /$(pwd):/src \ - -w //src/doc \ - btdi/sphinx:py2-featured \ - sh -c "sphinx-build -T -b man . ./_build/man" - -nroff -man doc/_build/man/ghdl.1 diff --git a/dist/travis/travis-ci.sh b/dist/travis/travis-ci.sh deleted file mode 100755 index 676d9dcf2..000000000 --- a/dist/travis/travis-ci.sh +++ /dev/null @@ -1,110 +0,0 @@ -#! /bin/bash -# This script is executed in the travis-ci environment. - -build_img_ghdl() { - travis_start "build_run" "$ANSI_BLUE[DOCKER build] ghdl/ghdl:${GHDL_IMAGE_TAG}$ANSI_NOCOLOR" - docker build -t ghdl/ghdl:$GHDL_IMAGE_TAG . -f-< /dev/null; then - # Remove leading 'v' in tags in the filenames. - PKG_TAG="$(echo $TRAVIS_TAG | cut -c2-)" - else - # Regular tag (like snapshots), nothing to change. - PKG_TAG="$TRAVIS_TAG" - fi - - # Extract from BUILD_ARG - IFS='+' read -ra REFS <<< "$BUILD_ARG" - DDIST=${REFS[0]} # Linux distro (eg: ubuntuXX, fedoraXX) - DBLD=${REFS[1]} # Build/backend (eg: mcode, llvm) - DEXT=${REFS[2]} # Extra constraints: GPL, synth - - PKG_NAME="ghdl-${PKG_TAG}-${DDIST}-${DBLD}" - BUILD_CMD_OPTS="$ENABLECOLOR -b $DBLD" - - if [ "x$DEXT" = "xgpl" ]; then - BUILD_CMD_OPTS="$BUILD_CMD_OPTS --gpl" - PKG_NAME="ghdl-$DEXT-${PKG_TAG}" - fi - if [ "x$DEXT" = "xsynth" ]; then - BUILD_CMD_OPTS="$BUILD_CMD_OPTS --synth" - PKG_NAME="ghdl-$DEXT-${PKG_TAG}" - fi - export BUILD_CMD_OPTS="${BUILD_CMD_OPTS} -p $PKG_NAME" - - GHDL_IMAGE_TAG="`echo $IMAGE | sed -e 's/+/-/g'`" - BUILD_IMAGE_TAG="$GHDL_IMAGE_TAG" - - case $BUILD_ARG in - *gcc*) - BUILD_IMAGE_TAG="`echo $GHDL_IMAGE_TAG | sed 's#\(.*\)-gcc.*#\1-gcc#g'`" - ;; - esac - - if [ "x$DEXT" != "x" ]; then - GHDL_IMAGE_TAG="$GHDL_IMAGE_TAG-$DEXT" - fi -} - -#-- - -. "$scriptdir/../ansi_color.sh" -#disable_color -- cgit v1.2.3