Skip to content
Merged
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
73 changes: 8 additions & 65 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,20 @@
name: Client Build, Publish, and Release
name: Client Build and Publish

on:
workflow_dispatch:
inputs:
tag:
description: "Release tag (for example: 1.1.1)"
required: true
type: string
release_name:
description: "Release name (defaults to tag if empty)"
required: false
default: ""
type: string
prerelease:
description: "Mark as prerelease"
required: true
default: false
type: boolean

jobs:
build:
name: Build package distributions
pypi-publish:
name: Upload release to PyPI
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/django-livefield
permissions:
contents: read
id-token: write
Comment thread
cnotbohm marked this conversation as resolved.
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
Expand All @@ -40,50 +28,5 @@ jobs:
- name: Build package
run: |
make build
- name: Upload dist artifacts
uses: actions/upload-artifact@v4
with:
name: python-dist
path: dist/*
if-no-files-found: error

pypi-publish:
name: Upload release to public PyPI
runs-on: ubuntu-latest
needs: build
environment:
name: pypi
url: https://pypi.org/p/django-livefield
permissions:
id-token: write
steps:
- name: Download dist artifacts
uses: actions/download-artifact@v4
with:
name: python-dist
path: dist
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

create-github-release:
name: Create GitHub release
runs-on: ubuntu-latest
needs:
- pypi-publish
permissions:
contents: write
steps:
- name: Download dist artifacts
uses: actions/download-artifact@v4
with:
name: python-dist
path: dist
- name: Create release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ inputs.tag }}
name: ${{ inputs.release_name || inputs.tag }}
target_commitish: ${{ github.sha }}
prerelease: ${{ inputs.prerelease }}
generate_release_notes: true
files: dist/*