Skip to content

push-changes-on-release #4

push-changes-on-release

push-changes-on-release #4

Workflow file for this run

on:
release:
types: [ created ]
name: push-changes-on-release
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 main
git add deployments
git commit -m "chore: add release file - $TITLE"
git push
- name: Checkout to curve-js
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="${{ github.repository }}"
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 "${{ github.event.release.body }}" \
--title "Deployment from $CURRENT_REPOSITORY - $TAG" \
--head "$BRANCH_NAME" \
--base "master"
- name: Checkout to curve-api
uses: actions/checkout@v3
with:
repository: curvefi/curve-api
token: ${{ secrets.ACCESS_TOKEN }}
- name: Send pull-request to curve-api
run: |
TAG=${{ env.RELEASE_VERSION }}
ORG="curvefi"
CURRENT_REPOSITORY="${{ github.repository }}"
REPOSITORY="$ORG/curve-api"
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 "${{ github.event.release.body }}" \
--title "Deployment from $CURRENT_REPOSITORY - $TAG" \
--head "$BRANCH_NAME" \
--base "main"