-
Notifications
You must be signed in to change notification settings - Fork 23
54 lines (47 loc) · 1.66 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
name: Build yellowstone-vixen crates
# This workflow uses github runners.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# This may be adjusted to whatever suits best your runners config.
# Current config will build on manual trigger or pull-request (each push)
on:
# pull_request can be removed, to save minutes on github runners
pull_request:
workflow_dispatch:
push:
branches:
- 'main'
env:
CARGO_TERM_COLOR: always
jobs:
build:
# This can be also be runned on self-hosted github runners
runs-on: ubuntu-22.04
steps:
- name: checkout repo
uses: actions/checkout@v4
# This step can be omited, to save storage space on the organization account
# Build process will take longer
- name: Cache Build Dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
yellowstone-vixen/target/
key: cargo-${{ hashFiles('**/Cargo.lock') }}-0001
- name: Install Latest Protoc
run: |
PROTOC_VERSION=26.1
ARCH=x86_64
curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-${ARCH}.zip
sudo apt-get install -y unzip protobuf-compiler libprotobuf-dev
unzip protoc-${PROTOC_VERSION}-linux-${ARCH}.zip -d $HOME/.local
echo "$HOME/.local/bin" >> $GITHUB_PATH
protoc --version
# Build yellowstone-vixen
- name: build yellowstone-vixen
run: cargo build --verbose --release