1+ #
2+ # Licensed to the Apache Software Foundation (ASF) under one
3+ # or more contributor license agreements. See the NOTICE file
4+ # distributed with this work for additional information
5+ # regarding copyright ownership. The ASF licenses this file
6+ # to you under the Apache License, Version 2.0 (the
7+ # "License"); you may not use this file except in compliance
8+ # with the License. You may obtain a copy of the License at
9+ #
10+ # http://www.apache.org/licenses/LICENSE-2.0
11+ #
12+ # Unless required by applicable law or agreed to in writing,
13+ # software distributed under the License is distributed on an
14+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+ # KIND, either express or implied. See the License for the
16+ # specific language governing permissions and limitations
17+ # under the License.
18+ #
19+
20+ name : " Nightly PyPI Build"
21+
22+ on :
23+ schedule :
24+ - cron : " 0 0 * * *" # Runs at midnight UTC every day
25+ workflow_dispatch : # Allows manual triggering
26+
27+ jobs :
28+ nightly-build :
29+ uses : ./.github/workflows/pypi-build-artifacts.yml # Reference the PyPI build workflow
30+ with :
31+ VERSION : " nightly-$(date +'%Y%m%d')" # Generate nightly version
32+ RC : " 0" # Reset RC for nightly builds
33+
34+ testpypi-publish :
35+ name : Publish to TestPypi
36+ needs : nightly-build
37+ runs-on : ubuntu-latest
38+ environment :
39+ name : testpypi
40+ url : https://test.pypi.org/p/pyiceberg
41+
42+ permissions :
43+ id-token : write # IMPORTANT: mandatory for trusted publishing
44+
45+ steps :
46+ - name : Download all the dists
47+ uses : actions/download-artifact@v4
48+ with :
49+ path : artifacts
50+ - name : List downloaded artifacts
51+ run : ls -R artifacts
52+ - name : Publish to TestPyPI
53+ uses : pypa/gh-action-pypi-publish@release/v1
54+ with :
55+ repository-url : https://test.pypi.org/legacy/
56+ skip-existing : true
57+ packages-dir : artifacts
0 commit comments