-
Notifications
You must be signed in to change notification settings - Fork 592
76 lines (70 loc) · 2.01 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# This workflow builds the osmosisd binary for amd64 and arm64 on Darwin and Linux.
#
# This workflow runs:
# - on pushes to main
# - on every pull requests
# - when manually triggered
#
# Caching strategy
# This code will store the Go modules cache based on the hash of your go.sum file,
# ensuring that the cache will be invalidated when your dependencies change.
# The cache will be stored on a per-branch basis, which should prevent cache pollution issues between different branches.
name: Build osmosisd
on:
pull_request:
branches:
- "**"
push:
branches:
- "main"
- "v[0-9]**"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build:
name: osmosisd-${{ matrix.targetos }}-${{ matrix.arch }}
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64, arm64]
targetos: [darwin, linux]
include:
- targetos: darwin
arch: arm64
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Get git diff
uses: technote-space/get-diff-action@v6.1.2
with:
PATTERNS: |
**/**.wasm
!tests/**
**/**.go !**/*_test.go
go.mod
go.sum
Makefile
.github/workflows/build.yml
- name: 🐿 Setup Golang
uses: actions/setup-go@v5
if: env.GIT_DIFF
with:
go-version-file: go.mod
env:
GOOS: ${{ matrix.targetos }}
GOARCH: ${{ matrix.arch }}
- name: Download Dependencies
if: env.GIT_DIFF
run: go mod download
- name: Build osmosisd
if: env.GIT_DIFF
run: |
GOWRK=off go build cmd/osmosisd/main.go
- name: Upload osmosisd artifact
if: env.GIT_DIFF
uses: actions/upload-artifact@v3
with:
name: osmosisd-${{ matrix.targetos }}-${{ matrix.arch }}
path: cmd/osmosisd/osmosisd