@@ -17,200 +17,48 @@ jobs:
17
17
fail-fast : false
18
18
matrix :
19
19
include :
20
- - name : " TOOLSET=gcc CXXSTD=03,11 Job 0"
21
- buildtype : " boost"
22
- packages : " "
23
- packages_to_remove : " "
24
- os : " ubuntu-20.04"
25
- container : " ubuntu:16.04"
26
- cxx : " g++"
27
- sources : " "
28
- llvm_os : " "
29
- llvm_ver : " "
30
- toolset : " gcc"
31
- cxxstd : " 03,11"
32
- - name : " TOOLSET=clang CXXSTD=03,11,14,1z Job 1"
33
- buildtype : " boost"
34
- packages : " libstdc++-4.9-dev clang"
35
- packages_to_remove : " "
36
- os : " ubuntu-20.04"
37
- container : " ubuntu:16.04"
38
- cxx : " clang++"
39
- sources : " "
40
- llvm_os : " "
41
- llvm_ver : " "
20
+ - name : " g++-13"
21
+ os : ubuntu-latest
22
+ packages : " g++-13"
23
+ toolset : " gcc-13"
24
+ - name : " clang-15"
25
+ os : ubuntu-latest
26
+ packages : " clang-15"
27
+ toolset : " clang-15"
28
+ - name : " xcode"
29
+ os : macos-latest
42
30
toolset : " clang"
43
- cxxstd : " 03,11,14,1z"
44
-
45
- runs-on : ${{ matrix.os }}
46
- container : ${{ matrix.container }}
47
-
31
+ runs-on : ${{matrix.os}}
48
32
steps :
49
- - name : Check if running in container
50
- if : matrix.container != ''
51
- run : echo "GHA_CONTAINER=${{ matrix.container }}" >> $GITHUB_ENV
52
- - name : If running in container, upgrade packages
53
- if : matrix.container != ''
33
+ - uses : actions/checkout@main
34
+ - name : Install
35
+ if : matrix.packages
54
36
run : |
55
- apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget curl apt-transport-https make apt-file sudo unzip libssl-dev build-essential autotools-dev autoconf automake g++ libc++-helpers python ruby cpio gcc-multilib g++-multilib pkgconf python3 ccache libpython-dev
56
- sudo apt-add-repository ppa:git-core/ppa
57
- sudo apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 -y install git
58
- python_version=$(python3 -c 'import sys; print("{0.major}.{0.minor}".format(sys.version_info))')
59
- sudo wget https://bootstrap.pypa.io/pip/$python_version/get-pip.py
60
- sudo python3 get-pip.py
61
- sudo /usr/local/bin/pip install cmake
62
-
63
- - uses : actions/checkout@v2
64
-
65
- - name : linux
66
- shell : bash
67
- env :
68
- CXX : ${{ matrix.cxx }}
69
- SOURCES : ${{ matrix.sources }}
70
- LLVM_OS : ${{ matrix.llvm_os }}
71
- LLVM_VER : ${{ matrix.llvm_ver }}
72
- PACKAGES : ${{ matrix.packages }}
73
- PACKAGES_TO_REMOVE : ${{ matrix.packages_to_remove }}
74
- JOB_BUILDTYPE : ${{ matrix.buildtype }}
75
- TOOLSET : ${{ matrix.toolset }}
76
- CXXSTD : ${{ matrix.cxxstd }}
77
- TRAVIS_BRANCH : ${{ github.base_ref }}
78
- TRAVIS_OS_NAME : " linux"
37
+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
38
+ sudo apt-get -o Acquire::Retries=3 update -y
39
+ sudo apt-get -o Acquire::Retries=3 -y install ${{matrix.packages}}
40
+ - name : Setup
79
41
run : |
80
- echo '==================================> SETUP'
81
- echo '==================================> PACKAGES'
82
- set -e
83
- if [ -n "$PACKAGES_TO_REMOVE" ]; then sudo apt-get purge -y $PACKAGES_TO_REMOVE; fi
84
- echo ">>>>> APT: REPO.."
85
- for i in {1..3}; do sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" && break || sleep 2; done
86
-
87
- if test -n "${LLVM_OS}" ; then
88
- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
89
- if test -n "${LLVM_VER}" ; then
90
- sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS}-${LLVM_VER} main"
91
- else
92
- # Snapshot (i.e. trunk) build of clang
93
- sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS} main"
94
- fi
95
- fi
96
- echo ">>>>> APT: UPDATE.."
97
- sudo -E apt-get -o Acquire::Retries=3 update
98
- if test -n "${SOURCES}" ; then
99
- echo ">>>>> APT: INSTALL SOURCES.."
100
- for SOURCE in $SOURCES; do
101
- sudo -E apt-add-repository ppa:$SOURCE
102
- done
103
- fi
104
- echo ">>>>> APT: INSTALL ${PACKAGES}.."
105
- sudo -E DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Retries=3 -y --no-install-suggests --no-install-recommends install ${PACKAGES}
106
-
107
- echo '==================================> INSTALL AND COMPILE'
108
- set -e
109
- export TRAVIS_BUILD_DIR=$(pwd)
110
- export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')}
111
- export VCS_COMMIT_ID=$GITHUB_SHA
112
- export GIT_COMMIT=$GITHUB_SHA
113
- export REPO_NAME=$(basename $GITHUB_REPOSITORY)
114
- export USER=$(whoami)
115
- export CC=${CC:-gcc}
116
- export PATH=~/.local/bin:/usr/local/bin:$PATH
117
-
118
- if [ "$JOB_BUILDTYPE" == "boost" ]; then
119
-
120
- echo '==================================> INSTALL'
121
-
122
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
42
+ echo GITHUB_BASE_REF: $GITHUB_BASE_REF
43
+ echo GITHUB_REF: $GITHUB_REF
44
+ REF=${GITHUB_BASE_REF:-$GITHUB_REF}
45
+ REF=${REF#refs/heads/}
46
+ echo REF: $REF
47
+ BOOST_BRANCH=develop && ( test "${GITHUB_REF_NAME}" == "master" || test "${GITHUB_REF_NAME}" == "modular" ) && BOOST_BRANCH=${GITHUB_REF_NAME} || true
48
+ BOOST_GIT=https://github.com/${GITHUB_REPOSITORY/sort/boost}.git
49
+ echo BOOST_GIT: ${BOOST_GIT}
50
+ echo BOOST_BRANCH: ${BOOST_BRANCH}
123
51
cd ..
124
- git clone -b $ BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
52
+ git clone -b "${ BOOST_BRANCH}" --depth 1 "${BOOST_GIT}" boost-root
125
53
cd boost-root
126
- git submodule update --init tools/build
127
- git submodule update --init libs/config
128
- git submodule update --init tools/boostdep
129
- cp -r $TRAVIS_BUILD_DIR/* libs/sort
130
- python tools/boostdep/depinst/depinst.py sort
54
+ git submodule update --init --jobs 3 tools/boostdep libs/assert libs/config libs/core libs/test libs/sort
55
+ python tools/boostdep/depinst/depinst.py -X test -g "--jobs 3" test
56
+ python tools/boostdep/depinst/depinst.py -X test -g "--jobs 3" sort
57
+ rm -rf libs/sort/*
58
+ cp -r $GITHUB_WORKSPACE/* libs/ sort
131
59
./bootstrap.sh
132
- ./b2 headers
133
-
134
- echo '==================================> SCRIPT'
135
-
136
- ./b2 libs/sort/test toolset=$TOOLSET cxxstd=$CXXSTD
137
-
138
- fi
139
- osx :
140
- strategy :
141
- fail-fast : false
142
- matrix :
143
- include :
144
- - name : " TOOLSET=clang CXXSTD=03,11,14,1z Job 2"
145
- buildtype : " boost"
146
- packages : " "
147
- os : " macos-12"
148
- cxx : " clang++"
149
- sources : " "
150
- llvm_os : " "
151
- llvm_ver : " "
152
- xcode_version : 14.2
153
- toolset : " clang"
154
- cxxstd : " 03,11,14,1z"
155
-
156
- runs-on : ${{ matrix.os }}
157
-
158
- steps :
159
- - uses : actions/checkout@v2
160
-
161
- - name : Set DEVELOPER_DIR
162
- if : matrix.xcode_version != ''
163
- run : echo "DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode_version }}.app/Contents/Developer" >> $GITHUB_ENV
164
- - name : Test DEVELOPER_DIR
165
- run : echo $DEVELOPER_DIR
166
-
167
- - name : " osx"
168
- shell : bash
169
- env :
170
- CXX : ${{ matrix.cxx }}
171
- SOURCES : ${{ matrix.sources }}
172
- LLVM_OS : ${{ matrix.llvm_os }}
173
- LLVM_VER : ${{ matrix.llvm_ver }}
174
- PACKAGES : ${{ matrix.packages }}
175
- JOB_BUILDTYPE : ${{ matrix.buildtype }}
176
- TOOLSET : ${{ matrix.toolset }}
177
- CXXSTD : ${{ matrix.cxxstd }}
178
- TRAVIS_BRANCH : ${{ github.base_ref }}
179
- TRAVIS_OS_NAME : " osx"
60
+ ./b2 -d0 headers
61
+ - name : Test
180
62
run : |
181
- echo '==================================> SETUP'
182
- set -e
183
- sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.bck
184
- echo '==================================> PACKAGES'
185
- echo '==================================> INSTALL AND COMPILE'
186
- set -e
187
- export TRAVIS_BUILD_DIR=$(pwd)
188
- export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')}
189
- export VCS_COMMIT_ID=$GITHUB_SHA
190
- export GIT_COMMIT=$GITHUB_SHA
191
- export REPO_NAME=$(basename $GITHUB_REPOSITORY)
192
- export USER=$(whoami)
193
- export CC=${CC:-gcc}
194
- export PATH=~/.local/bin:/usr/local/bin:$PATH
195
-
196
- if [ "$JOB_BUILDTYPE" == "boost" ]; then
197
-
198
- echo '==================================> INSTALL'
199
-
200
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
201
- cd ..
202
- git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
203
- cd boost-root
204
- git submodule update --init tools/build
205
- git submodule update --init libs/config
206
- git submodule update --init tools/boostdep
207
- cp -r $TRAVIS_BUILD_DIR/* libs/sort
208
- python tools/boostdep/depinst/depinst.py sort
209
- ./bootstrap.sh
210
- ./b2 headers
211
-
212
- echo '==================================> SCRIPT'
213
-
214
- ./b2 libs/sort/test toolset=$TOOLSET cxxstd=$CXXSTD
215
-
216
- fi
63
+ cd ../boost-root
64
+ ./b2 -j3 libs/sort/test toolset=${{matrix.toolset}} cxxstd=11,14,17,20
0 commit comments