Chaindata Fetch External #4215
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |