-
Notifications
You must be signed in to change notification settings - Fork 52
54 lines (45 loc) · 1.57 KB
/
publish.yml
File metadata and controls
54 lines (45 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
name: Publish
permissions:
contents: write
attestations: write
pull-requests: write
on:
release:
types:
- published
jobs:
upload_release:
name: Upload release
runs-on: ubuntu-latest
permissions:
id-token: write
environment: secure_publish_environment
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 1
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: "3.11"
cache: "pip"
- name: Releasing tag ${{ github.event.release.tag_name }}
run: |
# Get tag name from event
tag_name="${{ github.event.release.tag_name }}"
if [[ ! "$tag_name" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
cd $(echo $tag_name | rev | cut -d'/' -f2- | rev)
fi
# Install pypa/build
python -m pip install build --user
# Build a binary wheel and a source tarball
python -m build --sdist --wheel --outdir dist/ .
# Publish wheels to PyPI using Trusted Publishers.
# https://docs.pypi.org/trusted-publishers/using-a-publisher/
# This job needs to run from within the pypi-datadog-checks-base environment. PyPi
# validates the workflow file name, environment and repository the request is
# comming from to provide the valid JWT token.
- name: Release base package to PyPI
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
with:
skip-existing: true