Skip to content

Commit

Permalink
[FEQ] Ako/ Create PR on Remote Config file change (binary-com#13627)
Browse files Browse the repository at this point in the history
* ci: create pr on remote config file update

* ci: remove the PR step from action

* ci: add EOF

* ci: update the job name
  • Loading branch information
ali-hosseini-deriv committed Feb 16, 2024
1 parent 3890464 commit 1c7ed1c
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 43 deletions.
43 changes: 0 additions & 43 deletions .github/actions/download_remote_config_backup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,46 +18,3 @@ runs:
curl ${{ inputs.REMOTE_CONFIG_URL }} > packages/api/src/remote_config.json
echo "Remote Config backup downloaded successfully!"
shell: bash
# - name: Import GPG key
# if: github.ref == 'refs/heads/master'
# id: import-gpg
# uses: deriv-com/ghaction-import-gpg@v6
# with:
# gpg_private_key: ${{ inputs.GPG_PRIVATE_KEY }}
# passphrase: ${{ inputs.GPG_PASSPHRASE }}
# git_user_signingkey: true
# git_commit_gpgsign: true
# - name: commit changes
# if: github.ref == 'refs/heads/master'
# env:
# GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }}
# GIT_AUTHOR_NAME: ${{ steps.import-gpg.outputs.name }}
# GIT_AUTHOR_EMAIL: ${{ steps.import-gpg.outputs.email }}
# GIT_COMMITTER_NAME: ${{ steps.import-gpg.outputs.name }}
# GIT_COMMITTER_EMAIL: ${{ steps.import-gpg.outputs.email }}
# run: |
# branch_name="remote_config_update_branch"

# if [ -z "$(git status --porcelain)" ]; then
# echo "No changes to commit, Not creating a PR."
# else
# echo "Changes detected, creating a PR"

# # Checkout to remote config branch
# git fetch origin
# git checkout "$branch_name" || git checkout -b "$branch_name" origin/"$branch_name"

# # Commit the newly downloaded file
# cd $(git rev-parse --show-toplevel)
# git add packages/api/src/remote_config.json
# git commit -m "🤖 Remote Config file update 🤖"

# # Force push to this branch in case a previous run created it.
# git push --set-upstream origin "$branch_name" -f

# sudo apt install gh
# gh auth login --with-token <<< ${{ env.GITHUB_TOKEN }}
# gh pr close "$branch_name" || true
# gh pr create --base "master" --title "Sync Remote Config File 🤖" --head "binary-com:$branch_name" --body "This is an automated Pull Request designed to synchronize our project's Remote Config from Its origin. It checks for the changes in the remote config URL and in case of any change, it will update it using this PR."
# fi
# shell: bash
59 changes: 59 additions & 0 deletions .github/workflows/remote_config_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Deriv App Remote Config backup file
on:
push:
branches:
- master

jobs:
download_remote_config_backup_and_create_pr:
name: Download Remote Config Backup File and Create PR
runs-on: Runner_8cores_Deriv-app
env:
REMOTE_CONFIG_BRANCH: "remote_config_update_branch"
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Checkout to remote_config_update_branch
run: |
git fetch origin
git checkout "${{ env.REMOTE_CONFIG_BRANCH }}" || git checkout -b "${{ env.REMOTE_CONFIG_BRANCH }}" origin/"${{ env.REMOTE_CONFIG_BRANCH }}"
- name: Download Remote Config Backup File
uses: ./.github/actions/download_remote_config_backup
with:
REMOTE_CONFIG_URL: ${{ vars.REMOTE_CONFIG_URL }}

- name: Import GPG key
id: import-gpg
uses: deriv-com/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
git_user_signingkey: true
git_commit_gpgsign: true
- name: Commit the file and Create PR
env:
GIT_AUTHOR_NAME: ${{ steps.import-gpg.outputs.name }}
GIT_AUTHOR_EMAIL: ${{ steps.import-gpg.outputs.email }}
GIT_COMMITTER_NAME: ${{ steps.import-gpg.outputs.name }}
GIT_COMMITTER_EMAIL: ${{ steps.import-gpg.outputs.email }}
run: |
if [ -z "$(git status --porcelain)" ]; then
echo "No changes to commit, Not creating a PR."
else
echo "Changes detected, creating a PR"
# Commit the newly downloaded file
cd $(git rev-parse --show-toplevel)
git add packages/api/src/remote_config.json
git commit -m "🤖 Remote Config file update 🤖"
# Force push to this branch in case a previous run created it.
git push --set-upstream origin "${{ env.REMOTE_CONFIG_BRANCH }}" -f
sudo apt install gh
gh auth login --with-token <<< ${{ github.token }}
gh pr close "${{ env.REMOTE_CONFIG_BRANCH }}" || true
gh pr create --base "master" --title "Sync Remote Config File 🤖" --head "binary-com:${{ env.REMOTE_CONFIG_BRANCH }}" --body "This is an automated Pull Request designed to synchronize our project's Remote Config from Its origin. It checks for the changes in the remote config URL and in case of any change, it will update it using this PR."
fi
shell: bash

0 comments on commit 1c7ed1c

Please sign in to comment.