Skip to content

ci: build.yml introduce riscv64 linux and freebsd#2236

Open
eshattow wants to merge 1 commit into
AlexxIT:masterfrom
eshattow:riscv64
Open

ci: build.yml introduce riscv64 linux and freebsd#2236
eshattow wants to merge 1 commit into
AlexxIT:masterfrom
eshattow:riscv64

Conversation

@eshattow

@eshattow eshattow commented Apr 28, 2026

Copy link
Copy Markdown

Let's add riscv64 architecture builds to the workflow

Resolves: #2250

@eshattow

Copy link
Copy Markdown
Author

Home Assistant depends on go2rtc docker image; I am developing a riscv64 build of Home Assistant and this is a blocker for me. Let's add riscv64 architecture builds to upstream go2rtc.

Tested on a fork of AlexxIT/go2rtc with some additional modifications to the workflow to ensure the docker image(s) jobs are not skipped, as expected it compiles and builds and publishes like the other supported go targets:

https://go.dev/wiki/FreeBSD

Kernel version, Architectures, Initial support version, Final support version
14-CURRENT, ...riscv64, ** ***,
13-STABLE, ...riscv64, ** ***,

https://go.dev/wiki/Linux

Architecture, Kernel version, Initial support version, Final support version
riscv, TBD, Go 1.14,

The table above refers to "riscv" however on actual hardware go env reports "riscv64":

# cat /sys/firmware/devicetree/base/{name,model} ; echo ; uname -a ; go env
Milk-V Mars CM Lite
Linux hay 6.19.11+deb14-riscv64 #1 SMP PREEMPT Debian 6.19.11-1 (2026-04-05) riscv64 GNU/Linux
AR='ar'
CC='gcc'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_ENABLED='1'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
CXX='g++'
GCCGO='gccgo'
GO111MODULE=''
GOARCH='riscv64'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/home/es/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/home/es/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build3100524024=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='riscv64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/dev/null'
GOMODCACHE='/home/es/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/es/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GORISCV64='rva20u64'
GOROOT='/usr/lib/go-1.24'
GOSUMDB='sum.golang.org'
GOTELEMETRY='local'
GOTELEMETRYDIR='/home/es/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/lib/go-1.24/pkg/tool/linux_riscv64'
GOVCS=''
GOVERSION='go1.24.4'
GOWORK=''
PKG_CONFIG='pkg-config'

@eshattow eshattow changed the base branch from master to dev May 4, 2026 00:08
@eshattow

eshattow commented May 4, 2026

Copy link
Copy Markdown
Author

I got confused about the base branch, this is correct now @AlexxIT ?

@eshattow eshattow mentioned this pull request May 12, 2026
@skrashevich

Copy link
Copy Markdown
Collaborator

The same: #2251 (comment)

@eshattow eshattow changed the base branch from dev to master May 17, 2026 07:11
@eshattow eshattow changed the title workflows: build.yml introduce riscv64 linux and freebsd ci: build.yml introduce riscv64 linux and freebsd May 17, 2026
@eshattow

Copy link
Copy Markdown
Author

The same: #2251 (comment)

Yes, rebased to AlexxIT/master

@eshattow

eshattow commented Jun 7, 2026

Copy link
Copy Markdown
Author

ping @skrashevich the rebase is completed as requested, may I please get a review? thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add RISC-V to build

2 participants