-
Notifications
You must be signed in to change notification settings - Fork 8
74 lines (62 loc) · 2.42 KB
/
push_pr.yml
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
on:
release:
types: [ created ]
name: on-creating-new-tag
jobs:
send-pull-requests:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Get production version from tag
id: get_version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Checkout to repo
uses: actions/checkout@v3
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Create release file
run: |
TITLE='${{ github.event.release.name }}'
NOTES='${{ github.event.release.body }}'
DATE=$(date '+%d-%m-%Y')
mkdir -p deployments
echo $NOTES >> "deployments/release-$TITLE-$DATE.txt"
git config user.email "curvefi@users.noreply.github.com"
git config user.name "curvefi"
git remote update
git fetch
git checkout master
git add deployments
git commit -m "chore: add release file - $TITLE"
git push
- name: Checkout to other repo
uses: actions/checkout@v3
with:
repository: curvefi/curve-js
token: ${{ secrets.ACCESS_TOKEN }}
- name: Send pull-request to curve-js
run: |
TAG=${{ env.RELEASE_VERSION }}
ORG="curvefi"
CURRENT_REPOSITORY="$ORG/curve-xchain-factory"
REPOSITORY="$ORG/curve-js"
FOLDER="bin/$REPOSITORY"
BRANCH_NAME="deployment-$CURRENT_REPOSITORY-$TAG"
# Setup the committers identity.
git config user.email "Curvefi@users.noreply.github.com"
git config user.name "Curvefi"
# Create a new feature branch for the changes.
git checkout -b $BRANCH_NAME
# Store the PAT in a file that can be accessed by the GitHub CLI.
echo "${{ secrets.ACCESS_TOKEN }}" > token.txt
# Create an empty commit for PR
git commit --allow-empty -m "deployment from $CURRENT_REPOSITORY - $TAG"
git push -u origin $BRANCH_NAME
# Authorize GitHub CLI for the current repository and
# create a pull-requests containing the updates.
gh auth login --with-token < token.txt
gh pr create \
--body "Link to release: https://github.com/$CURRENT_REPOSITORY/releases/tag/$TAG" \
--title "Deployment from $CURRENT_REPOSITORY - $TAG" \
--head "$BRANCH_NAME" \
--base "master"