Skip to content

Chaindata Fetch External #4215

Chaindata Fetch External

Chaindata Fetch External #4215

name: Chaindata Fetch External
on:
# runs at `0 minutes past the hour, every 6 hours`, starting at midnight UTC
schedule:
- cron: "0 0/6 * * *"
# can be run manually from the `Actions` tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow pushing commits
permissions:
contents: write
id-token: write
concurrency:
# only run 1 job per branch/pr/etc at a time
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
publish:
name: "Fetch externals and push changes to repo"
timeout-minutes: 15
runs-on: ubuntu-latest
# Only run on main branch
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout repo
uses: actions/checkout@v7
with:
# don't persist the default GITHUB_TOKEN auth, the commit step
# pushes with CHAINDATA_CI_SUPERUSER_ACCESS_TOKEN instead
persist-credentials: false
- name: Setup pnpm
uses: pnpm/action-setup@v6
- name: Setup Node.js environment
uses: actions/setup-node@v7
with:
node-version-file: package.json
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Fetch external
env:
COINGECKO_API_URL: ${{ vars.COINGECKO_API_URL}}
COINGECKO_API_KEY_NAME: ${{ vars.COINGECKO_API_KEY_NAME}}
COINGECKO_API_KEY_VALUE: ${{ secrets.COINGECKO_API_KEY_VALUE }}
run: pnpm fetch-external
- name: Commit changes
env:
CHAINDATA_CI_SUPERUSER_ACCESS_TOKEN: ${{ secrets.CHAINDATA_CI_SUPERUSER_ACCESS_TOKEN }}
run: |
git remote set-url origin https://x-access-token:${CHAINDATA_CI_SUPERUSER_ACCESS_TOKEN}@github.com/TalismanSociety/chaindata
git config user.name "chaindata-ci-superuser[bot]"
git config user.email "146698419+chaindata-ci-superuser[bot]@users.noreply.github.com"
if [[ "$(git status --porcelain=v2)" != "" ]]; then
git add .
git commit -m 'chore: updated externals'
git push
fi