-
Notifications
You must be signed in to change notification settings - Fork 1
36 lines (33 loc) · 1.1 KB
/
tag-release.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# on merge to main from a branch named release-*, create a tag based on version in Cargo.toml
name: Tag Release on merge to main
on:
pull_request:
types:
- closed
branches:
- main
jobs:
build:
if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release-')
runs-on: ubuntu-22.04
permissions:
contents: write
actions: write
env:
GH_TOKEN: ${{ github.token }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.merge_commit_sha }}
fetch-depth: '0'
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Read version from Cargo.toml and push appropriate tag
id: read-version
run: |
CARGO_VERSION="$(cargo metadata --format-version=1 | jq -r '.packages | .[] | select(.name == "ndc-clickhouse-cli") | .version')"
VERSION_TAG="v$CARGO_VERSION"
echo "Tagging $VERSION_TAG"
git tag $VERSION_TAG
git push --tags
# Explicitly run our release workflow for this new tag
gh workflow run deploy-stage.yml --ref $VERSION_TAG