Merge pull request #3302 from Shreeshrii/PR1

Actions CI: Remove gcc from macOS CI
This commit is contained in:
Egor Pugin 2021-02-15 17:07:57 +03:00 committed by GitHub
commit a219d64811
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 76 additions and 80 deletions

View File

@ -1,6 +1,6 @@
name: autotools name: autotools
# autotools build of tesseract and training tools on ubuntu, macos homebrew and macports. # autotools build of tesseract and training tools on ubuntu, macos homebrew and macports.
# run command line tests, basicapitest and unittests.
on: on:
#push: #push:
schedule: schedule:
@ -15,25 +15,25 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- { name: ubuntu-18.04-clang-7-autotools, os: ubuntu-18.04, cc: clang-7, cxx: clang++-7 } - { name: ubuntu-18.04-clang-7-autotools, os: ubuntu-18.04, cxx: clang++-7 }
- { name: ubuntu-18.04-clang-8-autotools, os: ubuntu-18.04, cc: clang-8, cxx: clang++-8 } #installed - { name: ubuntu-18.04-clang-8-autotools, os: ubuntu-18.04, cxx: clang++-8 } #installed
- { name: ubuntu-18.04-clang-9-autotools, os: ubuntu-18.04, cc: clang-9, cxx: clang++-9 } #installed - { name: ubuntu-18.04-clang-9-autotools, os: ubuntu-18.04, cxx: clang++-9 } #installed
- { name: ubuntu-18.04-clang-10-autotools, os: ubuntu-18.04, cc: clang-10, cxx: clang++-10 } - { name: ubuntu-18.04-clang-10-autotools, os: ubuntu-18.04, cxx: clang++-10 }
- { name: ubuntu-18.04-gcc-7-autotools, os: ubuntu-18.04, cc: gcc-7, cxx: g++-7 } #installed - { name: ubuntu-18.04-gcc-7-autotools, os: ubuntu-18.04, cxx: g++-7 } #installed
- { name: ubuntu-18.04-gcc-8-autotools, os: ubuntu-18.04, cc: gcc-8, cxx: g++-8 } #installed - { name: ubuntu-18.04-gcc-8-autotools, os: ubuntu-18.04, cxx: g++-8 } #installed
- { name: ubuntu-18.04-gcc-9-autotools, os: ubuntu-18.04, cc: gcc-9, cxx: g++-9 } #installed - { name: ubuntu-18.04-gcc-9-autotools, os: ubuntu-18.04, cxx: g++-9 } #installed
- { name: ubuntu-18.04-gcc-10-autotools, os: ubuntu-18.04, cc: gcc-10, cxx: g++-10 } #installed - { name: ubuntu-18.04-gcc-10-autotools, os: ubuntu-18.04, cxx: g++-10 } #installed
- { name: ubuntu-20.04-clang-7-autotools, os: ubuntu-20.04, cc: clang-7, cxx: clang++-7 } - { name: ubuntu-20.04-clang-7-autotools, os: ubuntu-20.04, cxx: clang++-7 }
- { name: ubuntu-20.04-clang-8-autotools, os: ubuntu-20.04, cc: clang-8, cxx: clang++-8 } #installed - { name: ubuntu-20.04-clang-8-autotools, os: ubuntu-20.04, cxx: clang++-8 } #installed
- { name: ubuntu-20.04-clang-9-autotools, os: ubuntu-20.04, cc: clang-9, cxx: clang++-9 } #installed - { name: ubuntu-20.04-clang-9-autotools, os: ubuntu-20.04, cxx: clang++-9 } #installed
- { name: ubuntu-20.04-clang-10-autotools, os: ubuntu-20.04, cc: clang-10, cxx: clang++-10 } #installed - { name: ubuntu-20.04-clang-10-autotools, os: ubuntu-20.04, cxx: clang++-10 } #installed
- { name: ubuntu-20.04-gcc-7-autotools, os: ubuntu-20.04, cc: gcc-7, cxx: g++-7 } #installed - { name: ubuntu-20.04-gcc-7-autotools, os: ubuntu-20.04, cxx: g++-7 } #installed
- { name: ubuntu-20.04-gcc-8-autotools, os: ubuntu-20.04, cc: gcc-8, cxx: g++-8 } #installed - { name: ubuntu-20.04-gcc-8-autotools, os: ubuntu-20.04, cxx: g++-8 } #installed
- { name: ubuntu-20.04-gcc-9-autotools, os: ubuntu-20.04, cc: gcc-9, cxx: g++-9 } #installed - { name: ubuntu-20.04-gcc-9-autotools, os: ubuntu-20.04, cxx: g++-9 } #installed
- { name: ubuntu-20.04-gcc-10-autotools, os: ubuntu-20.04, cc: gcc-10, cxx: g++-10 } #installed - { name: ubuntu-20.04-gcc-10-autotools, os: ubuntu-20.04, cxx: g++-10 } #installed
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -48,7 +48,7 @@ jobs:
- name: Install Compiler - name: Install Compiler
run: | run: |
sudo apt-get install -y ${{ matrix.config.cxx }} ${{ matrix.config.cc }} sudo apt-get install -y ${{ matrix.config.cxx }}
- name: Install dependencies - name: Install dependencies
run: | run: |
@ -80,7 +80,7 @@ jobs:
run: | run: |
make check make check
- name: Display Tesseract and Training Tools Version - name: Display Version for tesseract, lstmtraining, text2image
run: | run: |
tesseract -v tesseract -v
lstmtraining -v lstmtraining -v
@ -128,10 +128,8 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- { name: macos-10.15-clang-12-autotools, os: macos-10.15, cc: clang, cxx: clang++ } # default clang-12 - { name: macos-10.15-clang-12-autotools, os: macos-10.15, cxx: clang++ }
- { name: macos-10.15-gcc-8-autotools, os: macos-10.15, cc: gcc-8, cxx: g++-8 } #installed - { name: macos-10.15-gcc-10-autotools, os: macos-10.15, cxx: g++-10 }
- { name: macos-10.15-gcc-9-autotools, os: macos-10.15, cc: gcc-9, cxx: g++-9 } #installed
- { name: macos-10.15-gcc-10-autotools, os: macos-10.15, cc: gcc-10, cxx: g++-10 } #installed
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -152,7 +150,7 @@ jobs:
brew install cabextract brew install cabextract
brew install libarchive curl brew install libarchive curl
- name: Setup - name: Setup Tesseract
run: | run: |
mkdir -p m4 mkdir -p m4
./autogen.sh ./autogen.sh
@ -170,14 +168,21 @@ jobs:
make training -j 8 make training -j 8
sudo make install training-install sudo make install training-install
- name: Make and run Unit Tests (Fails with gcc) - name: Make and run Unit Tests (clang)
if: startsWith(matrix.config.cxx, 'clang')
run: | run: |
make check make check
continue-on-error: true
- name: Display Tesseract and Training Tools Version - name: Make and run Unit Tests (unset LANG needed for g++-8, g++-9, g++-10 on macOS)
if: startsWith(matrix.config.cxx, 'g')
shell: bash
run: |
unset LANG LC_ALL LC_CTYPE
locale
make check
- name: Display Version for tesseract, lstmtraining, text2image
run: | run: |
${{ matrix.config.cxx }} --version
tesseract -v tesseract -v
lstmtraining -v lstmtraining -v
text2image -v text2image -v
@ -224,10 +229,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- { name: macos-10.15-clang-12-autotools, os: macos-10.15, cc: clang, cxx: clang++ } # defualt clang-12 - { name: macos-10.15-clang-12-autotools, os: macos-10.15, cxx: clang++ }
- { name: macos-10.15-gcc-8-autotools, os: macos-10.15, cc: gcc-8, cxx: g++-8 } #installed
- { name: macos-10.15-gcc-9-autotools, os: macos-10.15, cc: gcc-9, cxx: g++-9 } #installed
- { name: macos-10.15-gcc-10-autotools, os: macos-10.15, cc: gcc-10, cxx: g++-10 } #installed
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -247,12 +249,12 @@ jobs:
- name: Install Dependencies - name: Install Dependencies
run: | run: |
sudo port install autoconf autoconf-archive automake libtool pkgconfig sudo port install autoconf autoconf-archive automake libtool pkgconfig
sudo port install leptonica libomp sudo port install leptonica
sudo port install cairo pango sudo port install cairo pango
sudo port install icu +devel sudo port install icu +devel
sudo port install cabextract libarchive curl sudo port install cabextract libarchive curl
- name: Setup - name: Setup Tesseract
run: | run: |
mkdir -p m4 mkdir -p m4
./autogen.sh ./autogen.sh
@ -271,12 +273,12 @@ jobs:
make training -j 8 make training -j 8
sudo make install training-install sudo make install training-install
- name: Make and run Unit Tests (Fails with gcc) - name: Make and run Unit Tests (clang)
if: startsWith(matrix.config.cxx, 'clang')
run: | run: |
make check make check
continue-on-error: true
- name: Display Version - name: Display Version for tesseract, lstmtraining, text2image
run: | run: |
tesseract -v tesseract -v
lstmtraining -v lstmtraining -v

View File

@ -1,15 +1,13 @@
name: cmake name: cmake
# cmake build of tesseract and training tools with gcc and clang on ubuntu. # cmake build of tesseract and training tools on ubuntu and macOS homebrew using Ninja.
# cmake build of tesseract and training tools with gcc and clang on macOS homebrew using Ninja.
# test command line version of tesseract. run basicapitest. # test command line version of tesseract. run basicapitest.
on: on:
#push: #push:
schedule: schedule:
- cron: 0 21 * * * - cron: 0 21 * * *
jobs: jobs:
build: basictests:
name: ${{ matrix.config.name }} name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }} runs-on: ${{ matrix.config.os }}
strategy: strategy:
@ -17,36 +15,36 @@ jobs:
matrix: matrix:
config: config:
- { name: macos-10.15-clang-12-cmake, os: macos-10.15, cc: clang, cxx: clang++ } # defualt - { name: macos-10.15-clang-12-cmake, os: macos-10.15, cxx: clang++ } # defualt
- { name: macos-10.15-clang-11-cmake, os: macos-10.15, cc: '$(brew --prefix llvm)/bin/clang', cxx: '$(brew --prefix llvm)/bin/clang++' } #installed - { name: macos-10.15-clang-11-cmake, os: macos-10.15, cxx: '$(brew --prefix llvm)/bin/clang++' } #installed
- { name: macos-10.15-gcc-8-cmake, os: macos-10.15, cc: gcc-8, cxx: g++-8 } #installed - { name: macos-10.15-gcc-8-cmake, os: macos-10.15, cxx: g++-8 } #installed
- { name: macos-10.15-gcc-9-cmake, os: macos-10.15, cc: gcc-9, cxx: g++-9 } #installed - { name: macos-10.15-gcc-9-cmake, os: macos-10.15, cxx: g++-9 } #installed
- { name: macos-10.15-gcc-10-cmake, os: macos-10.15, cc: gcc-10, cxx: g++-10 } #installed - { name: macos-10.15-gcc-10-cmake, os: macos-10.15, cxx: g++-10 } #installed
- { name: ubuntu-18.04-clang-7-cmake, os: ubuntu-18.04, cc: clang-7, cxx: clang++-7 } - { name: ubuntu-18.04-clang-7-cmake, os: ubuntu-18.04, cxx: clang++-7 }
- { name: ubuntu-18.04-clang-8-cmake, os: ubuntu-18.04, cc: clang-8, cxx: clang++-8 } #installed - { name: ubuntu-18.04-clang-8-cmake, os: ubuntu-18.04, cxx: clang++-8 } #installed
- { name: ubuntu-18.04-clang-9-cmake, os: ubuntu-18.04, cc: clang-9, cxx: clang++-9 } #installed - { name: ubuntu-18.04-clang-9-cmake, os: ubuntu-18.04, cxx: clang++-9 } #installed
- { name: ubuntu-18.04-clang-10-cmake, os: ubuntu-18.04, cc: clang-10, cxx: clang++-10 } - { name: ubuntu-18.04-clang-10-cmake, os: ubuntu-18.04, cxx: clang++-10 }
- { name: ubuntu-18.04-gcc-7-cmake, os: ubuntu-18.04, cc: gcc-7, cxx: g++-7 } #installed - { name: ubuntu-18.04-gcc-7-cmake, os: ubuntu-18.04, cxx: g++-7 } #installed
- { name: ubuntu-18.04-gcc-8-cmake, os: ubuntu-18.04, cc: gcc-8, cxx: g++-8 } #installed - { name: ubuntu-18.04-gcc-8-cmake, os: ubuntu-18.04, cxx: g++-8 } #installed
- { name: ubuntu-18.04-gcc-9-cmake, os: ubuntu-18.04, cc: gcc-9, cxx: g++-9 } #installed - { name: ubuntu-18.04-gcc-9-cmake, os: ubuntu-18.04, cxx: g++-9 } #installed
- { name: ubuntu-18.04-gcc-10-cmake, os: ubuntu-18.04, cc: gcc-10, cxx: g++-10 } #installed - { name: ubuntu-18.04-gcc-10-cmake, os: ubuntu-18.04, cxx: g++-10 } #installed
- { name: ubuntu-20.04-clang-7-cmake, os: ubuntu-20.04, cc: clang-7, cxx: clang++-7 } - { name: ubuntu-20.04-clang-7-cmake, os: ubuntu-20.04, cxx: clang++-7 }
- { name: ubuntu-20.04-clang-8-cmake, os: ubuntu-20.04, cc: clang-8, cxx: clang++-8 } #installed - { name: ubuntu-20.04-clang-8-cmake, os: ubuntu-20.04, cxx: clang++-8 } #installed
- { name: ubuntu-20.04-clang-9-cmake, os: ubuntu-20.04, cc: clang-9, cxx: clang++-9 } #installed - { name: ubuntu-20.04-clang-9-cmake, os: ubuntu-20.04, cxx: clang++-9 } #installed
- { name: ubuntu-20.04-clang-10-cmake, os: ubuntu-20.04, cc: clang-10, cxx: clang++-10 } #installed - { name: ubuntu-20.04-clang-10-cmake, os: ubuntu-20.04, cxx: clang++-10 } #installed
- { name: ubuntu-20.04-gcc-7-cmake, os: ubuntu-20.04, cc: gcc-7, cxx: g++-7 } #installed - { name: ubuntu-20.04-gcc-7-cmake, os: ubuntu-20.04, cxx: g++-7 } #installed
- { name: ubuntu-20.04-gcc-8-cmake, os: ubuntu-20.04, cc: gcc-8, cxx: g++-8 } #installed - { name: ubuntu-20.04-gcc-8-cmake, os: ubuntu-20.04, cxx: g++-8 } #installed
- { name: ubuntu-20.04-gcc-9-cmake, os: ubuntu-20.04, cc: gcc-9, cxx: g++-9 } #installed - { name: ubuntu-20.04-gcc-9-cmake, os: ubuntu-20.04, cxx: g++-9 } #installed
- { name: ubuntu-20.04-gcc-10-cmake, os: ubuntu-20.04, cc: gcc-10, cxx: g++-10 } #installed - { name: ubuntu-20.04-gcc-10-cmake, os: ubuntu-20.04, cxx: g++-10 } #installed
steps: steps:
- name: Install compilers on Linux - name: Install compilers on Linux
run: | run: |
sudo apt-get install ${{ matrix.config.cc }} ${{ matrix.config.cxx }} -y sudo apt-get install ${{ matrix.config.cxx }} -y
if: runner.os == 'Linux' if: runner.os == 'Linux'
# sudo apt-get install libarchive-dev libcurl4-openssl-dev libcurl4 curl -y # sudo apt-get install libarchive-dev libcurl4-openssl-dev libcurl4 curl -y
@ -84,7 +82,6 @@ jobs:
-G Ninja \ -G Ninja \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DOPENMP_BUILD=OFF \ -DOPENMP_BUILD=OFF \
-DCMAKE_C_COMPILER=${{ matrix.config.cc }} \
-DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \ -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
-DCMAKE_INSTALL_PREFIX:PATH=inst -DCMAKE_INSTALL_PREFIX:PATH=inst
if: runner.os == 'Linux' if: runner.os == 'Linux'
@ -102,7 +99,6 @@ jobs:
-G Ninja \ -G Ninja \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DOPENMP_BUILD=OFF \ -DOPENMP_BUILD=OFF \
-DCMAKE_C_COMPILER=${{ matrix.config.cc }} \
-DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \ -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
-DCMAKE_INSTALL_PREFIX:PATH=inst -DCMAKE_INSTALL_PREFIX:PATH=inst
if: runner.os == 'macOS' if: runner.os == 'macOS'
@ -150,7 +146,6 @@ jobs:
- name: Display Compiler Version - name: Display Compiler Version
run: | run: |
${{ matrix.config.cc }} --version
${{ matrix.config.cxx }} --version ${{ matrix.config.cxx }} --version
git log -3 --pretty=format:'%h %ad %s | %an' git log -3 --pretty=format:'%h %ad %s | %an'
if: always() if: always()

View File

@ -1,24 +1,25 @@
name: unittest name: unittest
# autotools build on ubuntu and macos homebrew, unittests with address sanitizers. # autotools build on ubuntu and macOS homebrew.
# LSTMTrainerTest.DeterminismTest fails on Ubuntu 18.04 clang++-9 Issue #3258 # unittests with address sanitizers.
# [ FAILED ] LSTMTrainerTest.DeterminismTest - clang version 9.0.0-2~ubuntu18.04.2
on: on:
#push: #push:
schedule: schedule:
- cron: 0 19 * * * - cron: 0 19 * * *
jobs: jobs:
build: sanitizers:
name: ${{ matrix.config.name }} name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }} runs-on: ${{ matrix.config.os }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- { name: ubuntu-18.04-gcc-unittest, os: ubuntu-18.04, cc: gcc, cxx: g++ } - { name: macos-10.15-clang-unittest, os: macos-10.15, cxx: clang++ }
- { name: ubuntu-20.04-gcc-unittest, os: ubuntu-20.04, cc: gcc, cxx: g++ } - { name: ubuntu-18.04-clang-8-unittest, os: ubuntu-18.04, cxx: clang++-8 }
- { name: ubuntu-20.04-clang-unittest, os: ubuntu-20.04, cc: clang, cxx: clang++ } - { name: ubuntu-18.04-gcc-unittest, os: ubuntu-18.04, cxx: g++ }
- { name: macos-10.15-gcc-unittest, os: macos-10.15, cc: gcc, cxx: g++ } - { name: ubuntu-20.04-clang-10-unittest, os: ubuntu-20.04, cxx: clang++-10 }
- { name: macos-10.15-clang-unittest, os: macos-10.15, cc: clang, cxx: clang++ } - { name: ubuntu-20.04-gcc-unittest, os: ubuntu-20.04, cxx: g++ }
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -46,7 +47,6 @@ jobs:
- name: Configure (Linux) - name: Configure (Linux)
run: | run: |
./configure '--disable-shared' \ ./configure '--disable-shared' \
'CC=${{ matrix.config.cc }}' \
'CXX=${{ matrix.config.cxx }}' \ 'CXX=${{ matrix.config.cxx }}' \
'CXXFLAGS=-g -O2 -fsanitize=address,undefined' 'CXXFLAGS=-g -O2 -fsanitize=address,undefined'
if: runner.os == 'Linux' if: runner.os == 'Linux'
@ -54,10 +54,9 @@ jobs:
- name: Configure (MacOS Homebrew) - name: Configure (MacOS Homebrew)
run: | run: |
./configure '--disable-shared' '--with-pic' \ ./configure '--disable-shared' '--with-pic' \
'CC=${{ matrix.config.cc }}' \
'CXX=${{ matrix.config.cxx }}' \ 'CXX=${{ matrix.config.cxx }}' \
'CXXFLAGS=-g -O2 -fsanitize=address,undefined' \ 'CXXFLAGS=-g -O2 -fsanitize=address,undefined' \
'PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libarchive/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig' "PKG_CONFIG_PATH=$(brew --prefix)/opt/icu4c/lib/pkgconfig:$(brew --prefix)/opt/libarchive/lib/pkgconfig:$(brew --prefix)/opt/libffi/lib/pkgconfig"
if: runner.os == 'macOS' if: runner.os == 'macOS'
- name: Make and Install Tesseract - name: Make and Install Tesseract