Skip to content

Commit d365c1b

Browse files
authored
feat(ci): implement trigger (#166)
2 parents 9db847b + 196b963 commit d365c1b

File tree

3 files changed

+101
-77
lines changed

3 files changed

+101
-77
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Create PR from release to network
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- release/*
7+
types:
8+
- closed
9+
10+
env:
11+
HEAD_BRANCH: ${{ github.head_ref || github.ref_name }}
12+
RELEASE_BRANCH: ${{ github.event.pull_request.base.ref}}
13+
14+
jobs:
15+
merge-release-to-network:
16+
runs-on: ubuntu-latest
17+
if: ${{ (github.event.pull_request.merged == true) && (contains(github.head_ref, 'deploy') || contains(github.ref_name, 'deploy')) }}
18+
steps:
19+
- name: Set Env
20+
run: |
21+
echo "PR_BRANCH=merge/${HEAD_BRANCH}" >> $GITHUB_ENV
22+
echo "VERSION=$(echo -n ${{ env.HEAD_BRANCH }} | sed 's/.*deploy\///' | cut -d'-' -f1)" >> $GITHUB_ENV
23+
echo "NETWORK=$(echo -n ${{ env.HEAD_BRANCH }} | sed 's/.*deploy\/v[0-9\.]*-\(.*\)/\1/')" >> $GITHUB_ENV
24+
25+
- name: Checkout code
26+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
27+
with:
28+
ref: ${{ env.NETWORK }}
29+
30+
- name: Reset promotion branch
31+
run: |
32+
git fetch origin ${RELEASE_BRANCH}:${RELEASE_BRANCH}
33+
git reset --hard ${RELEASE_BRANCH}
34+
35+
- name: Create Pull Request
36+
id: cpr
37+
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 #v5.0.2
38+
with:
39+
labels: automated PR
40+
delete-branch: true
41+
title: 'chore(`${{ env.NETWORK }}`): merge from `${{ env.HEAD_BRANCH}}`'
42+
body: ${{ steps.template.outputs.result }}
43+
branch: ${{env.PR_BRANCH}}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Create Release Tag
2+
3+
on:
4+
pull_request:
5+
types: [closed]
6+
branches:
7+
- mainnet
8+
- testnet
9+
10+
env:
11+
HEAD_BRANCH: ${{ github.head_ref || github.ref_name }}
12+
13+
jobs:
14+
create-release-tag:
15+
runs-on: ubuntu-latest
16+
if: github.event.pull_request.merged == true
17+
steps:
18+
- name: Set Env
19+
run: |
20+
echo "VERSION=$(echo -n ${{ env.HEAD_BRANCH }} | sed 's/.*deploy\///' | cut -d'-' -f1)" >> $GITHUB_ENV
21+
echo "NETWORK=$(echo -n ${{ env.HEAD_BRANCH }} | sed 's/.*deploy\/v[0-9\.]*-\(.*\)/\1/')" >> $GITHUB_ENV
22+
23+
- name: Checkout code
24+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
25+
with:
26+
ref: ${{ env.NETWORK }}
27+
28+
- name: Set Mainnet Tag
29+
if: ${{ env.NETWORK == 'mainnet' }}
30+
run: |
31+
echo "TAG=${{ env.VERSION }}" >> $GITHUB_ENV
32+
33+
- name: Set Testnet Tag
34+
if: ${{ env.NETWORK == 'testnet' }}
35+
run: |
36+
echo "TAG=${{ env.VERSION }}-testnet" >> $GITHUB_ENV
37+
38+
- name: Get Testnet Latest Tag
39+
if: ${{ env.NETWORK == 'testnet' }}
40+
run: |
41+
echo "LATEST_TAG=$(git describe --tags --match "*testnet*" --abbrev=0)" >> $GITHUB_ENV
42+
43+
- name: Get Mainnet Latest Tag
44+
if: ${{ env.NETWORK == 'mainnet' }}
45+
run: |
46+
echo "LATEST_TAG=$(git describe --tags --match "*mainnet*" --abbrev=0)" >> $GITHUB_ENV
47+
48+
- name: Create release
49+
env:
50+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
51+
tag: ${{ env.TAG }}
52+
run: |
53+
gh release create "$tag" \
54+
--repo "$GITHUB_REPOSITORY" \
55+
--title "${{ env.NETWORK }} release ${{ env.VERSION }}" \
56+
--target "${{ env.NETWORK }}" \
57+
--notes-start-tag "${{ env.LATEST_TAG }}" \
58+
--generate-notes

.github/workflows/merge-release-to-network.yml

Lines changed: 0 additions & 77 deletions
This file was deleted.

0 commit comments

Comments
 (0)