Skip to content

trigger-devnet-upgrade #1523

trigger-devnet-upgrade

trigger-devnet-upgrade #1523

---
name: trigger-devnet-upgrade
permissions:
contents: read
id-token: write
on:
schedule:
- cron: '0 */2 * * *' # Runs every 2 hours
jobs:
push_dev_net_protocol_upgrade_if_needed:
runs-on: ubuntu-latest
steps:
- name: Install casper-client
run: |
sudo mkdir -m 0755 -p /etc/apt/keyrings/
sudo curl https://repo.casper.network/casper-repo-pubkey.gpg --output /etc/apt/keyrings/casper-repo-pubkey.gpg
sudo echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/casper-repo-pubkey.gpg] https://repo.casper.network/releases jammy main" | sudo tee /etc/apt/sources.list.d/casper.list
sudo apt-get update
sudo apt-get install casper-client -y
# Get script without checkout for use on any repo
- name: Get script
run: |
mkdir ci
cd ci
curl -JLO https://raw.githubusercontent.com/casper-network/casper-node/refs/heads/dev/ci/dev_net_protocol_generate.sh
chmod +x dev_net_protocol_generate.sh
curl -JLO https://raw.githubusercontent.com/casper-network/casper-node/refs/heads/dev/ci/next_upgrade_era_with_buffer.sh
chmod +x next_upgrade_era_with_buffer.sh
# Assign AWS PROD role to get access to production cloudfronts and S3 buckets
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ACCESS_ROLE_GENESIS }}
role-session-name: GitHub_to_AWS_via_FederatedOIDC
aws-region: ${{ secrets.AWS_ACCESS_REGION_GENESIS }}
- name: Build protocol update
run: ./ci/dev_net_protocol_generate.sh
- name: Upload artifacts to S3
run: aws s3 sync ./target/genesis/ s3://${{ secrets.AWS_BUCKET_GENESIS }}/devnet/
# Required in case of overwrite
- name: Invalidate CloudFront cache
run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_CLOUDFRONT_GENESIS }} --paths "/devnet/*"