Skip to content

Commit

Permalink
add release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
chiang-yuan committed Sep 6, 2024
1 parent 07722d8 commit ad38d4e
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 255 deletions.
58 changes: 58 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Publish Release

on:
push:
branches:
- main # Trigger on push to main branch

jobs:
release:
name: Create GitHub Release
runs-on: ubuntu-latest

steps:
# Step 1: Checkout the code
- name: Checkout code
uses: actions/checkout@v3

# Step 2: Set up Python
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'

# Step 3: Install dependencies
- name: Install dependencies
run: pip install toml

# Step 4: Extract version from pyproject.toml
- name: Extract version
id: get_version
run: |
VERSION=$(python -c "import toml; print(toml.load('pyproject.toml')['project']['version'])")
echo "VERSION=$VERSION" >> $GITHUB_ENV
# Step 5: Check if tag already exists
- name: Check if tag exists
id: check_tag
run: |
if git rev-parse "v${{ env.VERSION }}" >/dev/null 2>&1; then
echo "Tag v${{ env.VERSION }} already exists."
exit 0
fi
# Step 6: Create and push a new tag (if it doesn't exist)
- name: Create Git tag
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git tag -a "v${{ env.VERSION }}" -m "Release v${{ env.VERSION }}"
git push origin "v${{ env.VERSION }}"
# Step 7: Create GitHub release (if tag didn't exist)
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
tag_name: "v${{ env.VERSION }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit ad38d4e

Please sign in to comment.