Skip to content

Remove auto-generated vendor directory (#9) #36

Remove auto-generated vendor directory (#9)

Remove auto-generated vendor directory (#9) #36

name: Build and Publish
on:
push:
tags:
- 'v*'
branches:
- main
pull_request:
branches:
- main
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.17
- name: Set up PDM
uses: pdm-project/setup-pdm@568ddd69406b30de1774ec0044b73ae06e716aa4 # v4.1
with:
python-version: '3.11'
- name: Install dependencies
run: |
pdm sync --prod
- name: Build distributions
run: |
pdm build
- name: Upload artifact
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4
with:
name: build-artifacts
path: dist/
sanity-check:
runs-on: ubuntu-latest
needs: build
steps:
- name: Download artifact
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: build-artifacts
path: dist/
- name: Set up Python
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.11'
- name: Install wheel
run: |
pip install dist/*.whl
- name: Run sanity check
run: |
gatrace --help
gatrace version
publish:
runs-on: ubuntu-latest
needs: sanity-check
if: github.event_name == 'release'
steps:
- name: Download artifact
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: build-artifacts
path: dist/
- name: Publish to GitHub Release
uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8
with:
files: |
dist/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Verify Release
run: |
echo "Published release for tag ${{ github.ref }}."