Skip to content

Revert "feat: add CFG (#116)" #40

Revert "feat: add CFG (#116)"

Revert "feat: add CFG (#116)" #40

name: Update config
on:
pull_request_target:
types: [closed]
permissions:
contents: write
pull-requests: write
jobs:
update-config:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHAINS_PAT: ${{ secrets.CHAINS_PAT }}
EXTERNAL_REPO: ${{ secrets.EXTERNAL_REPO }}
steps:
- name: Checkout axelar-configs repository
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Check if PR was merged
id: check_if_merged
run: |
if [ "${{ github.event.pull_request.merged }}" != "true" ]; then
echo "PR was not merged. Exiting."
exit 0
fi
- name: Get the merge commit SHA
id: merge_commit
run: |
MERGE_COMMIT=$(git log -1 --pretty=format:"%H")
echo "MERGE_COMMIT=$MERGE_COMMIT" >> $GITHUB_ENV
- name: Determine NETWORK
id: determine_network
run: |
echo "Checking modified files in commit ${{ env.MERGE_COMMIT }}"
MODIFIED_FILES=$(git diff --name-only HEAD~1..HEAD)
echo "Modified files: $MODIFIED_FILES"
if echo "$MODIFIED_FILES" | grep -q "registry/mainnet/interchain/squid.tokenlist.json"; then
echo "NETWORK=mainnet" >> $GITHUB_ENV
elif echo "$MODIFIED_FILES" | grep -q "registry/testnet/interchain/squid.tokenlist.json"; then
echo "NETWORK=testnet" >> $GITHUB_ENV
else
echo "No relevant changes detected."
echo "NETWORK=none" >> $GITHUB_ENV
exit 0
fi
- name: Checkout external repository
if: env.NETWORK != 'none'
uses: actions/checkout@v4
with:
repository: axelarnetwork/${{ secrets.EXTERNAL_REPO }}
path: ${{ secrets.EXTERNAL_REPO }}
token: ${{ secrets.CHAINS_PAT }}
- name: Install jq
if: env.NETWORK != 'none'
run: sudo apt-get install -y jq
- name: Setup Branch Name
if: env.NETWORK != 'none'
id: branch-name
run: echo "::set-output name=branch::feat/config-update-$(date +'%Y-%m-%d-%H-%M-%S')"
- name: Create branch and generate config
if: env.NETWORK != 'none'
run: |
cd ${{ secrets.EXTERNAL_REPO }}
curl -sSL https://install.python-poetry.org | python3 -
poetry install
git config --local user.email "devops@axelar.network"
git config --local user.name "devops"
git checkout -b ${{ steps.branch-name.outputs.branch }}
poetry run python generate.py --network ${{ env.NETWORK }} --generate-config
git add --all
git commit -m "create branch ${{ steps.branch-name.outputs.branch }}"
git push --set-upstream origin ${{ steps.branch-name.outputs.branch }}
- name: Create Pull Request
if: env.NETWORK != 'none'
id: create_pr
run: |
cd ${{ secrets.EXTERNAL_REPO }}
PR_TITLE="feat: update configurations for ${{ env.NETWORK }}"
PR_BODY="Auto-generated PR with updated configuration files"
PR_HEAD="${{ steps.branch-name.outputs.branch }}"
PR_BASE="main"
RESPONSE=$(curl -s -X POST \
-H "Authorization: token ${{ secrets.CHAINS_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/axelarnetwork/${{ secrets.EXTERNAL_REPO }}/pulls \
-d "{\"title\":\"$PR_TITLE\",\"body\":\"$PR_BODY\",\"head\":\"$PR_HEAD\",\"base\":\"$PR_BASE\"}")
PR_NUMBER=$(echo $RESPONSE | jq -r .number)
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
- name: Merge Pull Request
if: env.NETWORK != 'none'
run: |
PR_NUMBER=${{ env.PR_NUMBER }}
PR_TITLE="feat: update configurations for ${{ env.NETWORK }}"
curl -s -X PUT \
-H "Authorization: token ${{ secrets.CHAINS_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/axelarnetwork/${{ secrets.EXTERNAL_REPO }}/pulls/$PR_NUMBER/merge \
-d "{\"commit_title\":\"Merge PR #$PR_NUMBER: $PR_TITLE\",\"merge_method\":\"squash\"}"
- name: Publish configuration
if: env.NETWORK != 'none'
run: |
WORKFLOW_FILE="publish-${{ env.NETWORK }}-configs.yaml"
curl -X POST \
-H "Authorization: token ${{ secrets.CHAINS_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/axelarnetwork/${{ secrets.EXTERNAL_REPO }}/actions/workflows/$WORKFLOW_FILE/dispatches \
-d '{"ref":"main"}'