66 - ' main'
77
88env :
9- BUILDER_VERSION : v0.9.64
9+ BUILDER_VERSION : v0.9.72
1010 BUILDER_SOURCE : releases
1111 BUILDER_HOST : https://d19elf31gohf1l.cloudfront.net
1212 PACKAGE_NAME : aws-c-http
1313 LINUX_BASE_IMAGE : ubuntu-18-x64
1414 RUN : ${{ github.run_id }}-${{ github.run_number }}
15- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
16- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
17- AWS_REGION : us-east-1
15+ CRT_CI_ROLE : ${{ secrets.CRT_CI_ROLE_ARN }}
16+ AWS_DEFAULT_REGION : us-east-1
17+
18+ permissions :
19+ id-token : write # This is required for requesting the JWT
1820
1921jobs :
2022 linux-compat :
21- runs-on : ubuntu-20 .04 # latest
23+ runs-on : ubuntu-24 .04 # latest
2224 strategy :
2325 matrix :
2426 image :
@@ -32,14 +34,18 @@ jobs:
3234 - rhel8-x64
3335
3436 steps :
35- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
37+ - uses : aws-actions/configure-aws-credentials@v4
38+ with :
39+ role-to-assume : ${{ env.CRT_CI_ROLE }}
40+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
41+ # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
3642 - name : Build ${{ env.PACKAGE_NAME }}
3743 run : |
3844 aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
3945 ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }}
4046
4147 linux-compiler-compat :
42- runs-on : ubuntu-20 .04 # latest
48+ runs-on : ubuntu-24 .04 # latest
4349 strategy :
4450 matrix :
4551 compiler :
@@ -49,62 +55,90 @@ jobs:
4955 - clang-9
5056 - clang-10
5157 - clang-11
58+ - clang-15
59+ - clang-17
5260 - gcc-4.8
5361 - gcc-5
5462 - gcc-6
5563 - gcc-7
5664 - gcc-8
65+ - gcc-11
66+ # - gcc-13 TODO: figure out why its not passing
5767 steps :
58- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
59- - name : Build ${{ env.PACKAGE_NAME }}
60- run : |
61- aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
62- ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }}
68+ - uses : aws-actions/configure-aws-credentials@v4
69+ with :
70+ role-to-assume : ${{ env.CRT_CI_ROLE }}
71+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
72+ # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
73+ - name : Build ${{ env.PACKAGE_NAME }}
74+ run : |
75+ aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
76+ ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }}
6377
6478 clang-sanitizers :
65- runs-on : ubuntu-20 .04 # latest
79+ runs-on : ubuntu-24 .04 # latest
6680 strategy :
6781 matrix :
6882 sanitizers : [",thread", ",address,undefined"]
6983 steps :
70- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
71- - name : Build ${{ env.PACKAGE_NAME }}
72- run : |
73- aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
74- ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=clang-11 --cmake-extra=-DENABLE_SANITIZERS=ON --cmake-extra=-DSANITIZERS="${{ matrix.sanitizers }}"
84+ - uses : aws-actions/configure-aws-credentials@v4
85+ with :
86+ role-to-assume : ${{ env.CRT_CI_ROLE }}
87+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
88+ # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
89+ - name : Build ${{ env.PACKAGE_NAME }}
90+ run : |
91+ aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
92+ ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=clang-11 --cmake-extra=-DENABLE_SANITIZERS=ON --cmake-extra=-DSANITIZERS="${{ matrix.sanitizers }}"
7593
7694 linux-shared-libs :
77- runs-on : ubuntu-20 .04 # latest
95+ runs-on : ubuntu-24 .04 # latest
7896 steps :
79- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
80- - name : Build ${{ env.PACKAGE_NAME }}
81- run : |
82- aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
83- ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON
97+ - uses : aws-actions/configure-aws-credentials@v4
98+ with :
99+ role-to-assume : ${{ env.CRT_CI_ROLE }}
100+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
101+ # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
102+ - name : Build ${{ env.PACKAGE_NAME }}
103+ run : |
104+ aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
105+ ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON
84106
85107 byo-crypto :
86- runs-on : ubuntu-20 .04 # latest
108+ runs-on : ubuntu-24 .04 # latest
87109 steps :
88- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
89- - name : Build ${{ env.PACKAGE_NAME }}
90- run : |
91- aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
92- ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBYO_CRYPTO=ON
110+ - uses : aws-actions/configure-aws-credentials@v4
111+ with :
112+ role-to-assume : ${{ env.CRT_CI_ROLE }}
113+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
114+ # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
115+ - name : Build ${{ env.PACKAGE_NAME }}
116+ run : |
117+ aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
118+ ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBYO_CRYPTO=ON
93119
94120 # Test downstream repos.
95121 # This should not be required because we can run into a chicken and egg problem if there is a change that needs some fix in a downstream repo.
96122 downstream :
97- runs-on : ubuntu-20 .04 # latest
123+ runs-on : ubuntu-24 .04 # latest
98124 steps :
99- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
100- - name : Build ${{ env.PACKAGE_NAME }}
101- run : |
102- aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
103- ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build downstream -p ${{ env.PACKAGE_NAME }}
125+ - uses : aws-actions/configure-aws-credentials@v4
126+ with :
127+ role-to-assume : ${{ env.CRT_CI_ROLE }}
128+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
129+ # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
130+ - name : Build ${{ env.PACKAGE_NAME }}
131+ run : |
132+ aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
133+ ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build downstream -p ${{ env.PACKAGE_NAME }}
104134
105135 windows :
106136 runs-on : windows-2022 # latest
107137 steps :
138+ - uses : aws-actions/configure-aws-credentials@v4
139+ with :
140+ role-to-assume : ${{ env.CRT_CI_ROLE }}
141+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
108142 - name : Build ${{ env.PACKAGE_NAME }} + consumers
109143 run : |
110144 python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
@@ -116,6 +150,10 @@ jobs:
116150 matrix :
117151 arch : [x86, x64]
118152 steps :
153+ - uses : aws-actions/configure-aws-credentials@v4
154+ with :
155+ role-to-assume : ${{ env.CRT_CI_ROLE }}
156+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
119157 - name : Build ${{ env.PACKAGE_NAME }} + consumers
120158 run : |
121159 python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
@@ -124,6 +162,10 @@ jobs:
124162 windows-shared-libs :
125163 runs-on : windows-2022 # latest
126164 steps :
165+ - uses : aws-actions/configure-aws-credentials@v4
166+ with :
167+ role-to-assume : ${{ env.CRT_CI_ROLE }}
168+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
127169 - name : Build ${{ env.PACKAGE_NAME }} + consumers
128170 run : |
129171 python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
@@ -132,6 +174,10 @@ jobs:
132174 windows-app-verifier :
133175 runs-on : windows-2022 # latest
134176 steps :
177+ - uses : aws-actions/configure-aws-credentials@v4
178+ with :
179+ role-to-assume : ${{ env.CRT_CI_ROLE }}
180+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
135181 - name : Build ${{ env.PACKAGE_NAME }} + consumers
136182 run : |
137183 python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
@@ -143,6 +189,10 @@ jobs:
143189 macos :
144190 runs-on : macos-14 # latest
145191 steps :
192+ - uses : aws-actions/configure-aws-credentials@v4
193+ with :
194+ role-to-assume : ${{ env.CRT_CI_ROLE }}
195+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
146196 - name : Build ${{ env.PACKAGE_NAME }} + consumers
147197 run : |
148198 python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')"
@@ -152,17 +202,25 @@ jobs:
152202 macos-x64 :
153203 runs-on : macos-14-large # latest
154204 steps :
205+ - uses : aws-actions/configure-aws-credentials@v4
206+ with :
207+ role-to-assume : ${{ env.CRT_CI_ROLE }}
208+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
155209 - name : Build ${{ env.PACKAGE_NAME }} + consumers
156210 run : |
157211 python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')"
158212 chmod a+x builder
159213 ./builder build -p ${{ env.PACKAGE_NAME }}
160214
161215 localhost-test-linux :
162- runs-on : ubuntu-20 .04 # latest
216+ runs-on : ubuntu-24 .04 # latest
163217 steps :
218+ - uses : aws-actions/configure-aws-credentials@v4
219+ with :
220+ role-to-assume : ${{ env.CRT_CI_ROLE }}
221+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
164222 - name : Checkout
165- uses : actions/checkout@v3
223+ uses : actions/checkout@v4
166224 - name : Build and test
167225 run : |
168226 python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
@@ -171,8 +229,12 @@ jobs:
171229 localhost-test-macos :
172230 runs-on : macos-14 # latest
173231 steps :
232+ - uses : aws-actions/configure-aws-credentials@v4
233+ with :
234+ role-to-assume : ${{ env.CRT_CI_ROLE }}
235+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
174236 - name : Checkout
175- uses : actions/checkout@v3
237+ uses : actions/checkout@v4
176238 - name : Build and test
177239 run : |
178240 python3 -m venv .venv
@@ -183,8 +245,12 @@ jobs:
183245 localhost-test-win :
184246 runs-on : windows-2022 # latest
185247 steps :
248+ - uses : aws-actions/configure-aws-credentials@v4
249+ with :
250+ role-to-assume : ${{ env.CRT_CI_ROLE }}
251+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
186252 - name : Checkout
187- uses : actions/checkout@v3
253+ uses : actions/checkout@v4
188254 - name : Build and test
189255 run : |
190256 python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
0 commit comments