46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
name: Message Buffer IDL Check
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- pythnet/message_buffer/**
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- pythnet/message_buffer/**
|
|
jobs:
|
|
abi-check:
|
|
name: Check Message Buffer IDL files are up to date
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: pythnet/message_buffer
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: nightly-2023-03-01
|
|
components: rustfmt, clippy
|
|
- name: Install Solana
|
|
run: |
|
|
sh -c "$(curl -sSfL https://release.solana.com/v1.14.18/install)"
|
|
echo "/home/runner/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
|
|
- name: Install Anchor
|
|
run: |
|
|
cargo install --git https://github.com/coral-xyz/anchor --tag v0.27.0 anchor-cli --locked
|
|
- name: Build and generate IDLs
|
|
run: anchor build
|
|
- name: Copy anchor target files
|
|
run: cp ./target/idl/message_buffer.json idl/ && cp ./target/types/message_buffer.ts idl/
|
|
- name: Install prettier globally
|
|
run: npm install -g prettier@2.7.1
|
|
- name: Run prettier (to avoid pre-commit failures)
|
|
run: |
|
|
npx prettier@2.7.1 --write "./idl/*"
|
|
- name: Check IDL changes
|
|
# Fails if the IDL files are not up to date. Please use anchor build to regenerate the IDL files for
|
|
# the current version of the contract and update idl directory.
|
|
run: git diff --exit-code idl/*
|