26
26
Formatting :
27
27
runs-on : ubuntu-latest
28
28
steps :
29
- - uses : actions/checkout@v2
29
+ - uses : actions/checkout@v3
30
30
- name : Formatting
31
31
32
32
with :
@@ -42,37 +42,51 @@ jobs:
42
42
matrix :
43
43
include :
44
44
# Linux, gcc
45
- - { compiler: gcc-5, cxxstd: '14', boostBranch: boost-1.65.0, os: ubuntu-18.04 }
46
- - { compiler: gcc-5, cxxstd: '14', boostBranch: boost-1.77.0, os: ubuntu-18.04 }
47
- - { compiler: gcc-5, cxxstd: '14,1z', boostBranch: master, os: ubuntu-18.04 }
48
- - { compiler: gcc-11,cxxstd: '14,17,20', boostBranch: master, os: ubuntu-20.04 }
45
+ - { compiler: gcc-5, cxxstd: '14', boostBranch: boost-1.65.0, os: ubuntu-22.04, container: 'ubuntu:18.04' }
46
+ - { compiler: gcc-5, cxxstd: '14', boostBranch: boost-1.77.0, os: ubuntu-22.04, container: 'ubuntu:18.04' }
47
+ - { compiler: gcc-12,cxxstd: '14,17,20', boostBranch: master, os: ubuntu-22.04 }
49
48
50
49
# Linux, clang
51
- - { compiler: clang-5.0, cxxstd: '14', boostBranch: boost-1.65.0, os: ubuntu-18.04 }
52
- - { compiler: clang-5.0, cxxstd: '14', boostBranch: boost-1.77.0, os: ubuntu-18.04 }
53
- - { compiler: clang-5.0, cxxstd: '14,1z', boostBranch: master, os: ubuntu-18.04 }
54
- - { compiler: clang-12, cxxstd: '14,17,20', boostBranch: master, os: ubuntu-20.04 }
50
+ - { compiler: clang-5.0, cxxstd: '14', boostBranch: boost-1.65.0, os: ubuntu-22.04, container: 'ubuntu:18.04' }
51
+ - { compiler: clang-5.0, cxxstd: '14', boostBranch: boost-1.77.0, os: ubuntu-22.04, container: 'ubuntu:18.04' }
52
+ - { compiler: clang-14, cxxstd: '14,17,20', boostBranch: master, os: ubuntu-22.04 }
55
53
56
54
- { name: Collect coverage, coverage: yes,
57
55
compiler : gcc-8, cxxstd: '14', boostBranch: master, os: ubuntu-20.04 }
58
56
59
57
timeout-minutes : 120
60
58
runs-on : ${{matrix.os}}
59
+ container : ${{matrix.container}}
61
60
62
61
steps :
63
- - uses : actions/checkout@v2
62
+ - name : Prepare container environment
63
+ if : matrix.container
64
+ run : |
65
+ export DEBIAN_FRONTEND=noninteractive
66
+ apt-get -o Acquire::Retries=$NET_RETRY_COUNT update
67
+ apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y sudo software-properties-common curl lsb-release
68
+ # Need (newer) git & cmake, and the older Ubuntu container may require requesting the key manually using port 80
69
+ curl -sSL --retry ${NET_RETRY_COUNT:-5} 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xE1DD270288B4E6030699E45FA1715D88E1DF1F24' | sudo gpg --dearmor > /etc/apt/trusted.gpg.d/git-core_ubuntu_ppa.gpg
70
+ for i in {1..${NET_RETRY_COUNT:-5}}; do sudo -E add-apt-repository -y ppa:git-core/ppa && break || sleep 10; done
71
+ curl -sSL --retry ${NET_RETRY_COUNT:-5} 'https://apt.kitware.com/keys/kitware-archive-latest.asc' | sudo gpg --dearmor > /etc/apt/trusted.gpg.d/kitware-archive-latest.gpg
72
+ for i in {1..${NET_RETRY_COUNT:-5}}; do sudo -E add-apt-repository -y "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" && break || sleep 10; done
73
+ apt-get -o Acquire::Retries=$NET_RETRY_COUNT update
74
+ apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y g++ git cmake
75
+ git config --global pack.threads 0
76
+
77
+ - uses : actions/checkout@v3
64
78
with :
65
79
# For coverage builds fetch the whole history, else only 1 commit using a 'fake ternary'
66
80
fetch-depth : ${{ matrix.coverage && '0' || '1' }}
67
81
68
82
# Checking out Boost and all its submodules takes ages...
69
83
- name : Cache Boost
70
- uses : actions/cache@v2
84
+ uses : actions/cache@v3
71
85
with :
72
86
path : boost-root
73
87
key : boost-${{matrix.boostBranch}}
74
88
- name : Checkout Boost
75
- uses : actions/checkout@v2
89
+ uses : actions/checkout@v3
76
90
with :
77
91
repository : boostorg/boost
78
92
ref : ${{matrix.boostBranch}}
0 commit comments