Skip to content

Workflow file for this run

# 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