Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 31 additions & 17 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,40 @@ on:
release:
types: [published]

permissions: {}

jobs:
build-and-publish:
build-and-publish:
name: Build and Publish
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Checkout
uses: actions/checkout@0717577d45739eb3c851188b29f50ed6c0b2194e
with:
ref: ${{ github.event.release.tag_name }}
persist-credentials: false
- name: Install Python
uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e
- name: Install build dependencies
run: python -m pip install -U setuptools build wheel
- name: Build distributions
run: python -m build
- name: Publish
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
- name: Checkout
uses: actions/checkout@0717577d45739eb3c851188b29f50ed6c0b2194e
with:
ref: ${{ github.event.release.tag_name }}
persist-credentials: false
- name: Install Python
uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e
- name: Install build dependencies
run: python -m pip install -U setuptools build wheel twine
- name: Build distributions
run: python -m build
- name: Authenticate to Google Cloud (OSS Exit Gate)
uses: google-github-actions/auth@c200f3691d83b41bf9bbd8638997a462592937ed
with:
workload_identity_provider: 'projects/305452601764/locations/global/workloadIdentityPools/builders/providers/github'
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@e427ad8a34f8676edf47cf7d7925499adf3eb74f
- name: Stage to OSS Exit Gate and upload manifest
run: |
python -m twine upload \
--repository-url "https://us-python.pkg.dev/oss-exit-gate-prod/appengine-python--pypi/" \
-u oauth2accesstoken \
-p "$(gcloud auth print-access-token)" \
dist/*
echo '{"publish_all": true}' > manifest.json
gcloud storage cp manifest.json \
"gs://oss-exit-gate-prod-projects-bucket/appengine-python/pypi/manifests/manifest-${{ github.run_id }}-${{ github.run_attempt }}.json"
Loading