From 9c615ea9cc2723cae5d0c0bf9cc9965350afebe7 Mon Sep 17 00:00:00 2001 From: Pierre Fenoll Date: Thu, 3 May 2018 17:55:48 +0200 Subject: Testing odbc+wx on OTP 20.3 on a slim jessie (#271) * wx-20.3: seeing about kerl/kerl/issues/270 * wx-20.3: less failible test + less deps * wx-20.3: move linux tests out of TravisCI into CircleCI * wx-20.3: always use git backend (erlang.org is still down) * wx-20.3: work around fact that erlang.org is down in .travis.yml * wx-20.3: fix some things * wx-20.3: looks like skipping happens too late * Revert "wx-20.3: looks like skipping happens too late" This reverts commit e0600cefa71760e9bd74e7efc37089d5d75e764e. * wx-20.3: that should fix it * wx-20.3: run shellcheck in circle, now travis is only about osx! * wx-20.3: that did not fix it (cc @mrallen1) * wx-20.3: shellcheck stable segfaults? * wx-20.3: should fix shellcheck segfault * SC1117: Backslash is literal in "\!". Prefer explicit escaping: "\\!". Not sure about the csh one. @mcrallen1 you have a clue? * wx-20.3: SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting). * wx-20.3: SC2154: words is referenced but not assigned. * wx-20.3: replace some double quotes with simple ones * wx-20.3: ps not found on debian9!? * wx-20.3: what now * wx-20.3: lets try a later vsn * wx-20.3: some cleaning up * wx-20.3: YAML fun * wx-20.3: wat --- .circleci/config.yml | 185 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 140 insertions(+), 45 deletions(-) (limited to '.circleci') diff --git a/.circleci/config.yml b/.circleci/config.yml index 3467f2b..b555249 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,94 +3,189 @@ workflows: version: 2 test-workflow: jobs: - - debian8_R15B03-1 - - centos6_20.2 - alpine3.7_20.3 + - centos7_19.3 + - centos6_18.3 + - debian9_17.5__wx_odbc__shellcheck + - trusty_17.0 + - debian8_R15B03-1 jobs: - debian8_R15B03-1: + alpine3.7_20.3: docker: - - image: debian:8 + - image: alpine:3.7 environment: - - _KERL_VSN: R15B03-1 - - KERL_CONFIGURE_DISABLE_APPLICATIONS: 'odbc' + - _KERL_VSN: 20.3 + - KERL_BUILD_BACKEND: git + - KERL_BUILD_DOCS: 'yes' steps: - - run: apt-get update && apt-get upgrade -y - - run: apt-get install -y git curl build-essential libncurses-dev libssl-dev + - run: apk update && apk upgrade + - run: | + apk add curl ca-certificates \ + dpkg-dev dpkg \ + gcc g++ libc-dev linux-headers make autoconf ncurses-dev tar \ + openssl-dev lksctp-tools-dev lksctp-tools \ + libxslt git - checkout - run: ./kerl update releases - - run: - command: ./kerl build "$_KERL_VSN" "$_KERL_VSN" + - run: &build_on_all_cores + command: + | + export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)" + ./kerl build "$_KERL_VSN" "$_KERL_VSN" | tee build.log no_output_timeout: 45m - run: ./kerl install "$_KERL_VSN" "install_$_KERL_VSN" - run: ./kerl status + - run: &activate_then_test_for_crypto + | + source $(./kerl path install_$_KERL_VSN)/activate + erl -s crypto -s init stop + kerl_deactivate + - run: ./kerl delete installation $(./kerl path install_$_KERL_VSN) + - run: ./kerl delete build "$_KERL_VSN" + + centos7_19.3: + docker: + - image: centos:7 + environment: + - _KERL_VSN: 19.3 + - KERL_BUILD_BACKEND: git + - KERL_CONFIGURE_DISABLE_APPLICATIONS: odbc + steps: + - run: yum -y update - run: | - set -x - source $(./kerl path install_$_KERL_VSN)/activate - erl -s crypto -s init stop - kerl_deactivate + yum -y install curl git \ + make automake autoconf gcc gcc-c++ \ + gcc-java \ + ncurses-devel openssl-devel + - checkout + - run: ./kerl update releases + - run: *build_on_all_cores + - run: ./kerl install "$_KERL_VSN" "install_$_KERL_VSN" + - run: ./kerl status + - run: *activate_then_test_for_crypto - run: ./kerl delete installation $(./kerl path install_$_KERL_VSN) - run: ./kerl delete build "$_KERL_VSN" - centos6_20.2: + centos6_18.3: docker: - image: centos:6 environment: - - _KERL_VSN: 20.2 - - KERL_CONFIGURE_DISABLE_APPLICATIONS: 'odbc' + - _KERL_VSN: 18.3 + - KERL_BUILD_BACKEND: git + - KERL_CONFIGURE_DISABLE_APPLICATIONS: odbc steps: - run: yum -y update - - run: yum -y install curl ncurses-devel openssl-devel make automake autoconf gcc gcc-c++ gcc-java + - run: | + yum -y install curl \ + make automake autoconf gcc gcc-c++ \ + gcc-java \ + ncurses-devel openssl-devel - run: | yum -y install https://centos6.iuscommunity.org/ius-release.rpm # CircleCI checkout uses -B which isn't available in CentOS6's packaged git yum -y install git2u - checkout - run: ./kerl update releases - - run: - command: ./kerl build "$_KERL_VSN" "$_KERL_VSN" - no_output_timeout: 45m + - run: *build_on_all_cores - run: ./kerl install "$_KERL_VSN" "install_$_KERL_VSN" - run: ./kerl status - - run: | - set -x - source $(./kerl path install_$_KERL_VSN)/activate - erl -s crypto -s init stop - kerl_deactivate + - run: *activate_then_test_for_crypto - run: ./kerl delete installation $(./kerl path install_$_KERL_VSN) - run: ./kerl delete build "$_KERL_VSN" - alpine3.7_20.3: + debian9_17.5__wx_odbc__shellcheck: docker: - - image: alpine:3.7 + - image: debian:9 environment: - - _KERL_VSN: 20.3 - - KERL_CONFIGURE_DISABLE_APPLICATIONS: odbc + - _KERL_VSN: 17.5 - KERL_BUILD_BACKEND: git - - KERL_BUILD_DOCS: 'yes' + - SHELLCHECK_URL: https://storage.googleapis.com/shellcheck/shellcheck-stable.linux.x86_64.tar.xz steps: - - run: apk update && apk upgrade + - run: apt update && apt upgrade -y - run: | - apk add curl ca-certificates \ - dpkg-dev dpkg \ - gcc g++ libc-dev linux-headers make autoconf ncurses-dev tar \ - openssl-dev unixodbc-dev lksctp-tools-dev \ - lksctp-tools \ - libxslt git + apt install -y --no-install-recommends \ + curl ca-certificates \ + git autoconf dpkg-dev gcc g++ make libncurses-dev \ + libssl1.0.2 libssl1.0-dev libsctp1 libsctp-dev \ + libodbc1 unixodbc-dev \ + libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libpng16-16 libpng-dev \ + procps + - run: wx-config --version - checkout + - run: | + curl -#fSLo shellcheck.tar.xz $SHELLCHECK_URL + tar --xz -xvf shellcheck.tar.xz + mv shellcheck-*/shellcheck /usr/local/bin + rm -vr shellcheck-*/ shellcheck.tar.xz + shellcheck --version + - run: | + shellcheck ./kerl + shellcheck ./bash_completion/kerl + # https://github.com/koalaman/shellcheck/issues/809 + # shellcheck ./zsh_completion/_kerl - run: ./kerl update releases - - run: - command: | - export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)" - ./kerl build "$_KERL_VSN" "$_KERL_VSN" - no_output_timeout: 45m + - run: *build_on_all_cores + - run: cat build.log + - run: "! grep -F 'ODBC library' build.log" + - run: "! grep -F 'wx will NOT be usable' build.log" - run: ./kerl install "$_KERL_VSN" "install_$_KERL_VSN" - run: ./kerl status - run: | - set -x + shellcheck $(./kerl path install_$_KERL_VSN)/activate + # shellcheck $(./kerl path install_$_KERL_VSN)/activate.csh + # shellcheck $(./kerl path install_$_KERL_VSN)/activate.fish + - run: | source $(./kerl path install_$_KERL_VSN)/activate - erl -s crypto -s init stop + for app in odbc crypto wx; do + echo TEST app $app + erl -noshell -eval "case application:ensure_all_started($app) of {ok,[_|_]} -> init:stop(); _ -> init:stop(1) end." + echo PASS app $app + done kerl_deactivate - run: ./kerl delete installation $(./kerl path install_$_KERL_VSN) - run: ./kerl delete build "$_KERL_VSN" + + trusty_17.0: + docker: + - image: ubuntu:trusty + environment: + - _KERL_VSN: '17.0' + # - KERL_BUILD_BACKEND: git ## This would cause the build to fail?! + - KERL_CONFIGURE_DISABLE_APPLICATIONS: 'wx odbc' + steps: + - run: apt update && apt upgrade -y + - run: | + apt install -y --no-install-recommends \ + curl ca-certificates \ + git autoconf automake dpkg-dev gcc g++ make libncurses-dev \ + libssl1.0.0 libssl-dev libsctp1 libsctp-dev + - checkout + - run: ./kerl update releases + - run: *build_on_all_cores + - run: ./kerl install "$_KERL_VSN" "install_$_KERL_VSN" + - run: ./kerl status + - run: *activate_then_test_for_crypto + - run: ./kerl delete installation $(./kerl path install_$_KERL_VSN) + - run: ./kerl delete build "$_KERL_VSN" + + debian8_R15B03-1: + docker: + - image: debian:8 + environment: + - _KERL_VSN: R15B03-1 + - KERL_BUILD_BACKEND: git + - KERL_CONFIGURE_DISABLE_APPLICATIONS: odbc + steps: + - run: apt-get update && apt-get upgrade -y + - run: | + apt-get install -y git curl build-essential automake autoconf libncurses-dev libssl-dev + - checkout + - run: ./kerl update releases + - run: *build_on_all_cores + - run: ./kerl install "$_KERL_VSN" "install_$_KERL_VSN" + - run: ./kerl status + - run: *activate_then_test_for_crypto + - run: ./kerl delete installation $(./kerl path install_$_KERL_VSN) + - run: ./kerl delete build "$_KERL_VSN" -- cgit v1.2.3