Files
json-to-openapi/.gitea/workflows/release.yml
2026-02-01 05:20:18 +00:00

52 lines
1.6 KiB
YAML

name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
run: |
mkdir -p ${{ github.repository }}
git clone https://gitea.com/${{ github.repository }} .
git checkout ${{ github.sha }}
- name: Set up Python
run: |
apt-get update
apt-get install -y python3 python3-pip
python3 -m pip install --upgrade pip
- name: Build package
run: |
pip3 install build
python3 -m build
- name: Create Release
run: |
apt-get install -y curl jq
TOKEN=${{ secrets.GITEA_TOKEN }}
TAG_NAME=$(git describe --tags --abbrev=0 2>/dev/null || git rev-parse --short HEAD)
response=$(curl -s -X POST "https://gitea.com/api/v1/repos/${{ github.repository }}/releases" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tag_name": "'$TAG_NAME'",
"draft": false,
"prerelease": false,
"body": "Release '$TAG_NAME'"
}')
RELEASE_ID=$(echo $response | jq -r '.id')
for file in dist/*; do
if [ -f "$file" ]; then
curl -s -X POST "https://gitea.com/api/v1/repos/${{ github.repository }}/releases/$RELEASE_ID/assets" \
-H "Authorization: token $TOKEN" \
-F "file=@$file" \
-F "name=$(basename $file)"
fi
done