name: Linux on: push: branches: - "main" - "core-8-branch" - "core-8-6-branch" tags: - "core-**" permissions: contents: read jobs: gcc: runs-on: ubuntu-22.04 strategy: matrix: cfgopt: - "" - "CFLAGS=-DTCL_NO_DEPRECATED=1" - "--disable-shared" - "--disable-zipfs" - "--enable-symbols" - "--enable-symbols=mem" - "--enable-symbols=all" - "CFLAGS=-ftrapv" defaults: run: shell: bash working-directory: unix steps: - name: Checkout uses: actions/checkout@v4 timeout-minutes: 5 - name: Prepare run: | touch tclStubInit.c tclOOStubInit.c tclOOScript.h working-directory: generic - name: Configure ${{ matrix.cfgopt }} run: | mkdir "${HOME}/install dir" ./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1) env: CFGOPT: ${{ matrix.cfgopt }} timeout-minutes: 5 - name: Build run: | make all timeout-minutes: 5 - name: Build Test Harness run: | make tcltest timeout-minutes: 5 - name: Run Tests run: | make test env: ERROR_ON_FAILURES: 1 timeout-minutes: 30 - name: Test-Drive Installation run: | make install timeout-minutes: 5 - name: Create Distribution Package run: | make dist timeout-minutes: 5 - name: Convert Documentation to HTML run: | make html-tcl timeout-minutes: 5