Files
icarus_models/.gitea/workflows/tag_release.yaml
phoenix 83171d3b73
All checks were successful
Release Tagging / release (push) Successful in 29s
Added release stage
2025-03-21 20:35:43 -04:00

51 lines
1.4 KiB
YAML

name: Release Tagging
on:
push:
branches:
- main
- dev
tags:
- 'v*' # Trigger on tags matching v*
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0 # Important for git describe --tags
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: cargo
- name: Extract Version from Cargo.toml
id: version
run: |
VERSION=$(grep '^version = "' Cargo.toml | sed -E 's/version = "([^"]+)"/\1/')
PROJECT_COMMIT_HASH=$(git rev-parse HEAD | cut -c 1-10)
BRANCH_REF="${GITHUB_REF}"
BRANCH_NAME=$(echo "$BRANCH_REF" | cut -d '/' -f 3)
PROJECT_TAG_RELEASE="v$VERSION-$BRANCH_NAME-$PROJECT_COMMIT_HASH"
echo "Version: $VERSION"
echo "Hash: $PROJECT_COMMIT_HASH"
echo "Branch: $BRANCH_NAME"
echo "Tag Release: $PROJECT_TAG_RELEASE"
- name: Create GitHub Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release $PROJECT_TAG_RELEASE
body: |
Release of version $PROJECT_TAG_RELEASE
draft: false
prerelease: ${{ startsWith(github.ref, 'v') == false }} # prerelease if not a valid release tag