OS #1564
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: OS | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - stable-*.* | |
| schedule: | |
| # Every day at 3:30 AM UTC | |
| - cron: 30 3 * * * | |
| concurrency: | |
| # Group by workflow and ref; the last component ensures that for pull requests | |
| # we limit to one concurrent job, but for the main/stable branches we don't | |
| group: ${{ github.workflow }}-${{ github.ref }}-${{ (github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/heads/stable-')) || github.run_number }} | |
| # Only cancel intermediate pull request builds | |
| cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} | |
| jobs: | |
| test: | |
| name: ${{ matrix.os }}${{ matrix.ABI }} / GAP stable-4.15 | |
| runs-on: ${{ matrix.os }}-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu | |
| ABI: 32 | |
| pkgs-to-clone: https://github.com/digraphs/graphviz.git | |
| pkgs-to-build: io orb datastructures grape profiling | |
| - os: macos | |
| ABI: 64 | |
| pkgs-to-clone: https://github.com/digraphs/graphviz.git https://github.com/gap-packages/NautyTracesInterface.git | |
| pkgs-to-build: io orb datastructures grape profiling NautyTracesInterface | |
| - os: windows | |
| ABI: 64 | |
| pkgs-to-clone: https://github.com/digraphs/graphviz.git https://github.com/gap-packages/NautyTracesInterface.git | |
| pkgs-to-build: io orb datastructures grape profiling NautyTracesInterface | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: gap-actions/setup-cygwin@v2 | |
| if: ${{ runner.os == 'Windows' }} | |
| - name: Output g++ version . . . | |
| run: g++ --version | |
| - name: Install macOS dependencies . . . | |
| if: ${{ runner.os == 'macOS' }} | |
| run: brew install automake | |
| - name: "Install 32-bit packages . . ." | |
| if: ${{ matrix.ABI == '32' }} | |
| run: | | |
| sudo dpkg --add-architecture i386 | |
| sudo apt-get update | |
| packages=( | |
| libgmp-dev:i386 | |
| libreadline-dev:i386 | |
| zlib1g-dev:i386 | |
| gcc-multilib | |
| g++-multilib | |
| ) | |
| sudo apt-get install "${packages[@]}" | |
| - name: "Install GAP . . ." | |
| uses: gap-actions/setup-gap@v3 | |
| env: | |
| ABI: ${{ matrix.ABI }} | |
| with: | |
| gap-version: stable-4.15 | |
| - name: "Install necessary GAP package clones . . ." | |
| shell: bash | |
| run: | | |
| for PKG in ${{ matrix.pkgs-to-clone }}; do | |
| cd ${GAPROOT}/pkg | |
| git clone $PKG | |
| done | |
| - name: "Build additional necessary GAP packages . . ." | |
| shell: bash | |
| env: | |
| ABI: ${{ matrix.ABI }} | |
| run: | | |
| cd ${GAPROOT}/pkg | |
| ../bin/BuildPackages.sh --strict ${{ matrix.pkgs-to-build }} | |
| - name: Build Digraphs . . . | |
| uses: gap-actions/build-pkg@v2 | |
| env: | |
| ABI: ${{ matrix.ABI }} | |
| with: | |
| ABI: ${{ matrix.ABI }} | |
| - name: Install digraphs-lib . . . | |
| run: git clone https://github.com/digraphs/digraphs-lib.git | |
| - name: Run DigraphsTestInstall . . . | |
| uses: gap-actions/run-pkg-tests@v4 | |
| with: | |
| testfile: tst/github_actions/install.g | |
| coverage: "false" | |
| - name: Run DigraphsTestStandard . . . | |
| uses: gap-actions/run-pkg-tests@v4 | |
| with: | |
| testfile: tst/github_actions/standard.g | |
| coverage: "false" | |
| - name: Run DigraphsTestManualExamples . . . | |
| uses: gap-actions/run-pkg-tests@v4 | |
| with: | |
| testfile: tst/github_actions/examples.g | |
| coverage: "false" | |
| - name: Run DigraphsTestExtreme . . . | |
| uses: gap-actions/run-pkg-tests@v4 | |
| if: ${{ runner.os != 'Windows' }} | |
| with: | |
| testfile: tst/github_actions/extreme.g | |
| coverage: "false" |