This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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/[email protected] | |
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 |