File: minimal-gcc.yml

package info (click to toggle)
boost1.74 1.74.0-9
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 464,084 kB
  • sloc: cpp: 3,338,324; xml: 131,293; python: 33,088; ansic: 14,336; asm: 4,034; sh: 3,351; makefile: 1,193; perl: 1,036; yacc: 478; php: 212; ruby: 102; lisp: 24; sql: 13; csh: 6
file content (112 lines) | stat: -rw-r--r-- 3,948 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
##############################################################################
# GitHub Actions Workflow for Boost.Geometry to build minimal tests with GCC
#
# Copyright (c) 2020 Mateusz Loskot <mateusz@loskot.net>
#
# Use, modification and distribution is subject to the Boost Software License,
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
##############################################################################
name: gcc-test-minimal

on: [push, pull_request]

jobs:
  build:
    name: ${{ matrix.b2_toolset }}
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        b2_toolset: [
          gcc-4.8,
          gcc-4.9,
          gcc-5,
          gcc-6,
          gcc-7,
          gcc-8,
          gcc-9
        ]

        include:
          - b2_toolset: gcc-4.8
            b2_cxxstd: 03,11
            version: "4.8"
          - b2_toolset: gcc-4.9
            b2_cxxstd: 03,11
            version: "4.9"
          - b2_toolset: gcc-5
            b2_cxxstd: 03,11,14
            version: "5"
          - b2_toolset: gcc-6
            b2_cxxstd: 03,11,14
            version: "6"
          - b2_toolset: gcc-7
            b2_cxxstd: 03,11,14,17
            version: "7"
          - b2_toolset: gcc-8
            b2_cxxstd: 03,11,14,17
            version: "8"
          - b2_toolset: gcc-9
            b2_cxxstd: 03,11,14,17,2a
            version: "9"

    steps:
      - name: Set up environment
        id: setenv
        run: |
          if [[ "$GITHUB_REF" == *master ]]; then
            echo "::set-env name=BOOST_BRANCH::master"
          else
            echo "::set-env name=BOOST_BRANCH::develop"
          fi
          echo "::set-env name=BOOST_SELF::$(basename $GITHUB_WORKSPACE)"
          echo "::set-env name=BOOST_ROOT::$GITHUB_WORKSPACE/boost-root"
          echo "::set-output name=boost_self::$(basename $GITHUB_WORKSPACE)"
          echo "::set-output name=boost_root::$GITHUB_WORKSPACE/boost-root"

      - name: Clone boostorg/boost
        run: |
          git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git $BOOST_ROOT
          cd $BOOST_ROOT
          git submodule update -q --init libs/headers
          git submodule update -q --init tools/boost_install
          git submodule update -q --init tools/boostdep
          git submodule update -q --init tools/build
          mkdir -p libs/$BOOST_SELF

      - uses: actions/checkout@v2
        with:
          path: ${{ steps.setenv.outputs.boost_root }}/libs/${{ steps.setenv.outputs.boost_self }}

      - name: Run tools/boostdep/depinst/depinst.py
        run: |
          cd $BOOST_ROOT
          python tools/boostdep/depinst/depinst.py --include benchmark --include example --include examples --include tools $BOOST_SELF

      - name: Install
        run: |
          # gcc-4.8 is not available in Bionic anymore
          sudo add-apt-repository "deb http://dk.archive.ubuntu.com/ubuntu/ xenial main"
          sudo add-apt-repository "deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe"
          sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
          sudo apt -q -y update
          sudo apt -q -y install g++-${{ matrix.version }} g++-${{ matrix.version }}-multilib

      - name: Bootstrap boostorg/boost
        run: |
          gcc --version
          cd $BOOST_ROOT
          ./bootstrap.sh --with-toolset=gcc
          ./b2 headers
          test -f /usr/local/bin/b2 && rm -rf /usr/local/bin/b2
          test -f /usr/local/bin/bjam && rm -rf /usr/local/bin/bjam
          sudo cp $BOOST_ROOT/b2 /usr/local/bin/
          ls -l /usr/local/bin/b2
          b2 -v

      - name: Build libs/geometry/test//minimal
        run: |
          cd $BOOST_ROOT
          $BOOST_ROOT/b2 toolset=${{ matrix.b2_toolset }} cxxstd=${{ matrix.b2_cxxstd }} variant=debug,release address-model=32,64 libs/geometry/test//minimal