name: build on: [ push, pull_request ] jobs: linux: runs-on: ubuntu-latest strategy: fail-fast: false matrix: compiler: [ clang, gcc, gcc-9, gcc-10 ] iconv: [ enable-iconv, disable-iconv] glib: [ enable-glib, disable-glib ] steps: - name: Install packages run: sudo apt install gettext - uses: actions/checkout@v2 - name: Fetch test data run: git clone https://github.com/mdbtools/mdbtestdata.git test - name: Autoconf run: autoreconf -i -f - name: Configure run: ./configure --disable-silent-rules --${{ matrix.glib }} --${{ matrix.iconv }} --with-unixodbc=/usr env: CC: ${{ matrix.compiler }} - name: Make run: make - name: CLI tests run: bash -e -x ./test_script.sh - name: SQL tests run: bash -e -x ./test_sql.sh - name: ODBC tests run: ./src/odbc/unittest env: MDBPATH: test/data - name: pkg-config libmdb test run: pkg-config libmdb --exists env: PKG_CONFIG_PATH: . - name: pkg-config libmdbsql test run: pkg-config libmdbsql --exists env: PKG_CONFIG_PATH: . macos: runs-on: macos-latest strategy: fail-fast: false matrix: compiler: [ clang, gcc ] iconv: [ enable-iconv, disable-iconv] glib: [ enable-glib, disable-glib ] steps: - name: Install packages run: brew install bison gawk automake - uses: actions/checkout@v2 - name: Fetch test data run: git clone https://github.com/mdbtools/mdbtestdata.git test - name: Autoconf run: autoreconf -i -f - name: Configure run: ./configure --disable-silent-rules --${{ matrix.glib }} --${{ matrix.iconv }} --with-unixodbc=/usr/local/opt env: CC: ${{ matrix.compiler }} YACC: /usr/local/opt/bison/bin/bison - name: Make run: make - name: CLI tests run: bash -e -x ./test_script.sh - name: SQL tests run: bash -e -x ./test_sql.sh - name: ODBC tests run: ./src/odbc/unittest env: MDBPATH: test/data - name: pkg-config libmdb test run: pkg-config libmdb --exists env: PKG_CONFIG_PATH: . - name: pkg-config libmdbsql test run: pkg-config libmdbsql --exists env: PKG_CONFIG_PATH: . macos-iodbc: runs-on: macos-latest strategy: fail-fast: false matrix: compiler: [ clang, gcc ] glib: [ enable-glib, disable-glib ] steps: - name: Remove packages run: brew unlink unixodbc - name: Install packages run: brew install libiodbc bison gawk automake - uses: actions/checkout@v2 - name: Fetch test data run: git clone https://github.com/mdbtools/mdbtestdata.git test - name: Autoconf run: autoreconf -i -f - name: Configure run: ./configure --disable-silent-rules --${{ matrix.glib }} --with-iodbc=/usr/local/opt env: CC: ${{ matrix.compiler }} YACC: /usr/local/opt/bison/bin/bison - name: Make run: make - name: ODBC tests run: ./src/odbc/unittest env: MDBPATH: test/data windows: runs-on: windows-latest env: MSYSTEM: MINGW64 steps: - uses: actions/checkout@v2 - name: Check out test data run: git clone https://github.com/mdbtools/mdbtestdata.git test - name: Autoconf run: C:\msys64\usr\bin\bash -c -l 'cd "$GITHUB_WORKSPACE" && autoreconf -i -f' - name: Configure run: C:\msys64\usr\bin\bash -c -l 'cd "$GITHUB_WORKSPACE" && ./configure' - name: Make run: C:\msys64\usr\bin\bash -c -l 'cd "$GITHUB_WORKSPACE" && make' - name: Test run: C:\msys64\usr\bin\bash -c -l 'cd "$GITHUB_WORKSPACE" && bash -e -x ./test_script.sh' - name: SQL Test run: C:\msys64\usr\bin\bash -c -l 'cd "$GITHUB_WORKSPACE" && bash -e -x ./test_sql.sh'