Skip to content

Commit 9c906da

Browse files
committed
🔧 update cd.yml workflow (add riscv64, s390x and armv7l)
and restore unique attestation "multiple.intoto.jsonl"
1 parent 942df93 commit 9c906da

File tree

1 file changed

+62
-5
lines changed

1 file changed

+62
-5
lines changed

.github/workflows/cd.yml

Lines changed: 62 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,39 @@ jobs:
4747
needs: pre_flight_check
4848
strategy:
4949
matrix:
50-
os: [ ubuntu-latest, windows-latest, macos-14 ]
50+
os: [ubuntu-latest, windows-latest, macos-14, ubuntu-24.04-arm]
5151
qemu: [ '' ]
52+
musl: [ '' ]
5253
include:
5354
# Split ubuntu job for the sake of speed-up
5455
- os: ubuntu-latest
55-
qemu: aarch64
56+
qemu: ppc64le
57+
musl: ""
5658
- os: ubuntu-latest
5759
qemu: ppc64le
60+
musl: musllinux
61+
- os: ubuntu-latest
62+
qemu: riscv64
63+
musl: ""
64+
- os: ubuntu-latest
65+
qemu: riscv64
66+
musl: musllinux
5867
- os: ubuntu-latest
5968
qemu: s390x
69+
musl: ""
70+
- os: ubuntu-latest
71+
qemu: s390x
72+
musl: musllinux
73+
- os: ubuntu-latest
74+
qemu: armv7l
75+
musl: ""
76+
- os: ubuntu-latest
77+
qemu: armv7l
78+
musl: musllinux
79+
- os: ubuntu-latest
80+
musl: musllinux
81+
- os: ubuntu-24.04-arm
82+
musl: musllinux
6083
steps:
6184
- name: Checkout
6285
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -86,13 +109,48 @@ jobs:
86109
CIBW_ENVIRONMENT: CHARSET_NORMALIZER_USE_MYPYC='1'
87110
CIBW_TEST_REQUIRES: pytest
88111
CIBW_TEST_COMMAND: pytest -c {package} {package}/tests
89-
CIBW_SKIP: "cp31?t-*"
112+
CIBW_SKIP: "cp31?t-* ${{ matrix.musl == 'musllinux' && '*manylinux*' || '*musllinux*' }}"
90113
- name: Upload artifacts
91114
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
92115
with:
93116
name: dist-${{ matrix.os }}-${{ matrix.qemu }}
94117
path: ./wheelhouse/*.whl
95118

119+
checksum:
120+
name: Compute hashes
121+
runs-on: ubuntu-latest
122+
needs:
123+
- build-wheels
124+
- universal-wheel
125+
outputs:
126+
hashes: ${{ steps.compute.outputs.hashes }}
127+
steps:
128+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
129+
- name: Download distributions
130+
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a
131+
with:
132+
name: dist
133+
path: dist
134+
- name: Collected dists
135+
run: |
136+
tree dist
137+
- name: Generate hashes
138+
id: compute # needs.checksum.outputs.hashes
139+
working-directory: ./dist
140+
run: echo "hashes=$(sha256sum * | base64 -w0)" >> $GITHUB_OUTPUT
141+
142+
provenance:
143+
needs: checksum
144+
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@f7dd8c54c2067bafc12ca7a55595d5ee9b75204a
145+
permissions:
146+
actions: read
147+
id-token: write
148+
contents: write
149+
with:
150+
base64-subjects: ${{ needs.checksum.outputs.hashes }}
151+
upload-assets: true
152+
compile-generator: true
153+
96154
deploy:
97155
name: 🚀 Deploy to PyPi
98156
runs-on: ubuntu-latest
@@ -101,8 +159,7 @@ jobs:
101159
id-token: write
102160
contents: write
103161
needs:
104-
- build-wheels
105-
- universal-wheel
162+
- provenance
106163
environment:
107164
name: pypi
108165
url: https://pypi.org/project/charset-normalizer/

0 commit comments

Comments
 (0)