name: Build and Attach Release Assets
on:
release:
types: [published]
push:
tags:
- "*"
permissions:
contents: write
jobs:
build:
name: Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
- ubuntu-22.04-arm
- macos-15
- macos-15-intel
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build assets
run: cargo xtask package
- name: Upload release assets
uses: softprops/action-gh-release@v2.4.2
with:
files: dist/casper-devnet-*.tar.gz
publish-crates:
name: Publish crates.io
runs-on: ubuntu-latest
needs: build
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Publish casper-devnet
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: cargo publish -p casper-devnet --locked