Skip to content

Merge pull request #2619 from pyth-network/price-update-delay #151

Merge pull request #2619 from pyth-network/price-update-delay

Merge pull request #2619 from pyth-network/price-update-delay #151

name: Message Buffer Check
on:
pull_request:
paths:
- .github/workflows/ci-message-buffer.yml
- pythnet/message_buffer/**
push:
branches:
- main
jobs:
abi-check:
name: Check Message Buffer formatting & IDL files
runs-on: ubuntu-latest
defaults:
run:
working-directory: pythnet/message_buffer
steps:
- name: Checkout sources
uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
with:
workspaces: "pythnet/message_buffer -> target"
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.66.1
components: rustfmt, clippy
- name: Install Solana
run: |
wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
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: Install g++ 12
run: |
sudo apt-get install g++-12
echo "CXX=/usr/bin/g++-12" >> "${GITHUB_ENV}"
- uses: actions/setup-node@v4
with:
node-version-file: "package.json"
# Libusb is a build requirement for the node-hid package and so pnpm
# install will fail if this isn't in the build environment and if a
# precompiled binary isn't found.
- name: Install libusb
run: sudo apt-get update && sudo apt-get install -y libusb-1.0-0-dev libudev-dev
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
run_install: true
- 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: Fix formatting (to avoid pre-commit failures)
run: pnpm turbo --filter message_buffer fix:format
- 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/*
if: success() || failure()
- name: Cargo format
run: cargo fmt --all -- --check
if: success() || failure()
- name: Cargo clippy
run: cargo clippy --tests -- --deny warnings
if: success() || failure()