@@ -19,11 +19,11 @@ name: "Nightly PyPI Build"
1919
2020on :
2121 schedule :
22- - cron : " 0 0 * * *" # Runs at midnight UTC every day
23- workflow_dispatch : # Allows manual triggering
22+ - cron : " 0 0 * * *" # Runs at midnight UTC every day
23+ workflow_dispatch : # Allows manual triggering
2424
2525env :
26- rust_msrv : " 1.77.1 "
26+ rust_msrv : " 1.85 "
2727
2828permissions :
2929 contents : read
@@ -40,12 +40,12 @@ jobs:
4040
4141 sdist :
4242 needs : set-version
43- if : github.repository == 'apache/iceberg-rust' # Only run for apache repo
43+ if : github.repository == 'apache/iceberg-rust' # Only run for apache repo
4444 runs-on : ubuntu-latest
4545 steps :
4646 - uses : actions/checkout@v4
47-
48- - uses : ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
47+
48+ - uses : ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
4949 with :
5050 timestamp : ${{ needs.set-version.outputs.TIMESTAMP }}
5151
5454 working-directory : " bindings/python"
5555 command : sdist
5656 args : -o dist
57-
57+
5858 - name : Upload sdist
5959 uses : actions/upload-artifact@v4
6060 with :
@@ -63,69 +63,73 @@ jobs:
6363
6464 wheels :
6565 needs : set-version
66- if : github.repository == 'apache/iceberg-rust' # Only run for apache repo
66+ if : github.repository == 'apache/iceberg-rust' # Only run for apache repo
6767 runs-on : " ${{ matrix.os }}"
6868 strategy :
6969 matrix :
7070 include :
7171 - { os: windows-latest }
7272 - { os: macos-latest, target: "universal2-apple-darwin" }
7373 - { os: ubuntu-latest, target: "x86_64" }
74- - { os: ubuntu-latest, target: "aarch64", manylinux: "manylinux_2_28" }
74+ - {
75+ os : ubuntu-latest,
76+ target : " aarch64" ,
77+ manylinux : " manylinux_2_28" ,
78+ }
7579 - { os: ubuntu-latest, target: "armv7l" }
7680 steps :
77- - uses : actions/checkout@v4
78-
79- - uses : ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
80- with :
81- timestamp : ${{ needs.set-version.outputs.TIMESTAMP }}
82-
83- - uses : actions/setup-python@v5
84- with :
85- python-version : 3.9
86-
87- - name : Setup Rust toolchain
88- uses : ./.github/actions/setup-builder
89- with :
90- rust-version : ${{ env.rust_msrv }}
91-
92- - uses : PyO3/maturin-action@v1
93- with :
94- target : ${{ matrix.target }}
95- manylinux : ${{ matrix.manylinux || 'auto' }}
96- working-directory : " bindings/python"
97- command : build
98- args : --release -o dist
99-
100- - name : Upload wheels
101- uses : actions/upload-artifact@v4
102- with :
103- name : wheels-${{ matrix.os }}-${{ matrix.target }}
104- path : bindings/python/dist
81+ - uses : actions/checkout@v4
82+
83+ - uses : ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
84+ with :
85+ timestamp : ${{ needs.set-version.outputs.TIMESTAMP }}
86+
87+ - uses : actions/setup-python@v5
88+ with :
89+ python-version : 3.9
90+
91+ - name : Setup Rust toolchain
92+ uses : ./.github/actions/setup-builder
93+ with :
94+ rust-version : ${{ env.rust_msrv }}
95+
96+ - uses : PyO3/maturin-action@v1
97+ with :
98+ target : ${{ matrix.target }}
99+ manylinux : ${{ matrix.manylinux || 'auto' }}
100+ working-directory : " bindings/python"
101+ command : build
102+ args : --release -o dist
103+
104+ - name : Upload wheels
105+ uses : actions/upload-artifact@v4
106+ with :
107+ name : wheels-${{ matrix.os }}-${{ matrix.target }}
108+ path : bindings/python/dist
105109
106110 testpypi-publish :
107- needs : [ sdist, wheels ]
111+ needs : [sdist, wheels]
108112 runs-on : ubuntu-latest
109113
110114 environment :
111115 name : testpypi
112116 url : https://test.pypi.org/p/pyiceberg-core
113117
114118 permissions :
115- id-token : write # IMPORTANT: mandatory for trusted publishing
119+ id-token : write # IMPORTANT: mandatory for trusted publishing
116120
117121 steps :
118- - name : Download all the dists
119- uses : actions/download-artifact@v4
120- with :
121- pattern : wheels-*
122- merge-multiple : true
123- path : bindings/python/dist
124- - name : List downloaded artifacts
125- run : ls -R bindings/python/dist
126- - name : Publish to TestPyPI
127- uses : pypa/gh-action-pypi-publish@release/v1
128- with :
129- repository-url : https://test.pypi.org/legacy/
130- skip-existing : true
131- packages-dir : bindings/python/dist
122+ - name : Download all the dists
123+ uses : actions/download-artifact@v4
124+ with :
125+ pattern : wheels-*
126+ merge-multiple : true
127+ path : bindings/python/dist
128+ - name : List downloaded artifacts
129+ run : ls -R bindings/python/dist
130+ - name : Publish to TestPyPI
131+ uses : pypa/gh-action-pypi-publish@release/v1
132+ with :
133+ repository-url : https://test.pypi.org/legacy/
134+ skip-existing : true
135+ packages-dir : bindings/python/dist
0 commit comments