diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-11-27 21:26:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-27 21:26:17 +0100 |
| commit | 60ae9abbf9ad6b6a6f1fae5f7bb1a7da2a2a59dc (patch) | |
| tree | 7a02761ec3db58bfdd15c782117768b59a7cfbff | |
| parent | a24c02199fbab7d25c5e9586677c89aff9c5cb6c (diff) | |
| parent | 3b0102df6f1152563f37bfe2617535d81516cb75 (diff) | |
| download | PROJ-60ae9abbf9ad6b6a6f1fae5f7bb1a7da2a2a59dc.tar.gz PROJ-60ae9abbf9ad6b6a6f1fae5f7bb1a7da2a2a59dc.zip | |
Merge pull request #2459 from rouault/gha_gcc_32bit
Move linux gcc 32bit job to Github actions
| -rw-r--r-- | .github/workflows/linux_gcc_32bit.yml | 24 | ||||
| -rwxr-xr-x | .github/workflows/linux_gcc_32bit/start.sh | 56 | ||||
| -rw-r--r-- | .travis.yml | 28 | ||||
| -rwxr-xr-x | travis/install.sh | 2 | ||||
| -rwxr-xr-x | travis/linux_gcc8/after_success.sh | 5 | ||||
| -rwxr-xr-x | travis/linux_gcc8/before_install.sh | 21 | ||||
| -rwxr-xr-x | travis/linux_gcc8/install.sh | 8 |
7 files changed, 81 insertions, 63 deletions
diff --git a/.github/workflows/linux_gcc_32bit.yml b/.github/workflows/linux_gcc_32bit.yml new file mode 100644 index 00000000..455bf301 --- /dev/null +++ b/.github/workflows/linux_gcc_32bit.yml @@ -0,0 +1,24 @@ +name: Linux GCC 32bit + +on: [push, pull_request] + +jobs: + + linux_gcc_32bit: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Cache + uses: actions/cache@v2 + id: cache + with: + path: | + ${{ github.workspace }}/ccache.tar.gz + key: ${{ runner.os }}-cache-gcc32bit-${{ github.run_id }} + restore-keys: ${{ runner.os }}-cache-gcc32bit- + + - name: Run + run: docker run -e CI -e WORK_DIR="$PWD" -v $PWD:$PWD ubuntu:20.04 $PWD/.github/workflows/linux_gcc_32bit/start.sh diff --git a/.github/workflows/linux_gcc_32bit/start.sh b/.github/workflows/linux_gcc_32bit/start.sh new file mode 100755 index 00000000..42746fe8 --- /dev/null +++ b/.github/workflows/linux_gcc_32bit/start.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +set -e + +export TRAVIS_OS_NAME=linux +export BUILD_NAME=linux_gcc_32bit +export TRAVIS_BUILD_DIR="$WORK_DIR" + +ARCH=i386 + +dpkg --add-architecture i386 +apt update -y + +DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + autoconf automake libtool gcc-multilib g++-multilib g++ sqlite3 \ + python3-pip \ + make cmake ccache pkg-config tar zip \ + libsqlite3-dev:$ARCH libtiff-dev:$ARCH libcurl4-openssl-dev:$ARCH \ + jq + +pip3 install --user jsonschema +export PATH=$HOME/.local/bin:$PATH + +export CXXFLAGS='-g -O2 -m32 -D_GLIBCXX_ASSERTIONS' +export CFLAGS='-g -O2 -m32' +export TIFF_CFLAGS=-I/usr/include/i386-linux-gnu +export TIFF_LIBS="-L/usr/lib/i386-linux-gnu -ltiff" +export SQLITE3_CFLAGS=-I/usr/include/i386-linux-gnu +export SQLITE3_LIBS="-L/usr/lib/i386-linux-gnu -lsqlite3" +export CC="ccache gcc" +export CXX="ccache g++" + +NPROC=$(nproc) +echo "NPROC=${NPROC}" +export MAKEFLAGS="-j ${NPROC}" + +cd "$WORK_DIR" + +if test -f "$WORK_DIR/ccache.tar.gz"; then + echo "Restoring ccache..." + (cd $HOME && tar xzf "$WORK_DIR/ccache.tar.gz") +fi + +export CCACHE_CPP2=yes +export PROJ_DB_CACHE_DIR="$HOME/.ccache" + +ccache -M 500M +ccache -s + +CFLAGS="-Werror $CFLAGS" CXXFLAGS="-Werror $CXXFLAGS" ./travis/install.sh + +ccache -s + +echo "Saving ccache..." +rm -f "$WORK_DIR/ccache.tar.gz" +(cd $HOME && tar czf "$WORK_DIR/ccache.tar.gz" .ccache) diff --git a/.travis.yml b/.travis.yml index f0720523..07138324 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,34 +32,6 @@ matrix: - os: linux dist: bionic compiler: gcc - services: - - docker - env: - - BUILD_NAME=linux_gcc8 - - DETAILS="linux, gcc8" - - DETAILS="linux, gcc8, i386" - - ARCH=i386 - - CC=gcc-8 - - CXX=g++-8 - - CXXFLAGS='-g -O2 -m32 -D_GLIBCXX_ASSERTIONS' - - CFLAGS='-g -O2 -m32' - - TIFF_CFLAGS=-I/usr/include/i386-linux-gnu - - TIFF_LIBS="-L/usr/lib/i386-linux-gnu -ltiff" - - SQLITE3_CFLAGS=-I/usr/include/i386-linux-gnu - - SQLITE3_LIBS="-L/usr/lib/i386-linux-gnu -lsqlite3" - addons: - apt: - sources: - - sourceline: 'ppa:ubuntu-toolchain-r/test' - packages: - - g++-8-multilib - - make - - autoconf - - automake - - - os: linux - dist: bionic - compiler: gcc arch: s390x env: - BUILD_NAME=linux_generic diff --git a/travis/install.sh b/travis/install.sh index a4d8352a..84e7de25 100755 --- a/travis/install.sh +++ b/travis/install.sh @@ -99,7 +99,7 @@ if [ $TRAVIS_OS_NAME != "osx" ]; then fi fi -if [ "$BUILD_NAME" != "linux_gcc8" ]; then +if [ "$BUILD_NAME" != "linux_gcc8" -a "$BUILD_NAME" != "linux_gcc_32bit" ]; then # cmake build from generated tarball mkdir build_cmake diff --git a/travis/linux_gcc8/after_success.sh b/travis/linux_gcc8/after_success.sh deleted file mode 100755 index 70c6f5cb..00000000 --- a/travis/linux_gcc8/after_success.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -set -e - -#./travis/after_success.sh diff --git a/travis/linux_gcc8/before_install.sh b/travis/linux_gcc8/before_install.sh deleted file mode 100755 index ff6c0927..00000000 --- a/travis/linux_gcc8/before_install.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -e - -./travis/before_install_apt.sh -./travis/before_install_pip.sh - -sudo aptitude remove -q -y libtiff-dev libcurl4-gnutls-dev -sudo aptitude install -q -y \ - lcov \ - doxygen graphviz \ - sqlite3 libsqlite3-dev:$ARCH \ - libtiff-dev:$ARCH libcurl4-openssl-dev:$ARCH - -#scripts/cppcheck.sh -#scripts/doxygen.sh - -#pip install --user sphinxcontrib-bibtex -#pip install --user cpp-coveralls - -#./travis/docker.sh diff --git a/travis/linux_gcc8/install.sh b/travis/linux_gcc8/install.sh deleted file mode 100755 index 7fa8cfa4..00000000 --- a/travis/linux_gcc8/install.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -set -e - -export CCACHE_CPP2=yes -export PROJ_DB_CACHE_DIR="$HOME/.ccache" - -CC="ccache $CC" CXX="ccache $CXX" CFLAGS="-std=c99 -Werror $CFLAGS" CXXFLAGS="-Werror $CXXFLAGS" ./travis/install.sh |
