Skip to content
Merged
Changes from 19 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
0629649
Remove static sleep and incorrect code from zrp_laser_bias_current_test
RishabhAgarwal-2001 Jul 29, 2026
cdff8ec
Skip cleaning cache and avoid .pb.go files in fmt
RishabhAgarwal-2001 Jul 29, 2026
5763831
AI attempt 2
RishabhAgarwal-2001 Jul 30, 2026
b064ad5
using third-party action instead of our own
RishabhAgarwal-2001 Jul 30, 2026
80d47f0
Introduce failure in zrp
RishabhAgarwal-2001 Jul 30, 2026
e5597b4
Fix FMT issues
RishabhAgarwal-2001 Jul 30, 2026
2d28a7b
Experimenting with arm64 runners
RishabhAgarwal-2001 Jul 31, 2026
dc90014
Merge branch 'main' into rishabh/exp-speed-up-static-check
RishabhAgarwal-2001 Jul 31, 2026
0992920
Address Zirmor issues
RishabhAgarwal-2001 Jul 31, 2026
2e3c70c
Add permissions to go.yml
RishabhAgarwal-2001 Jul 31, 2026
4cc170c
Pin Runner version for Arm64
RishabhAgarwal-2001 Jul 31, 2026
2460848
Add cache envs
RishabhAgarwal-2001 Jul 31, 2026
31e08d9
Remove GOGC=30
RishabhAgarwal-2001 Jul 31, 2026
32da65f
Print cache size after static check
RishabhAgarwal-2001 Jul 31, 2026
13d6d54
Store the cache - /mnt/cache/staticcheck
RishabhAgarwal-2001 Jul 31, 2026
7ca6356
Create a separate experimental action
RishabhAgarwal-2001 Jul 31, 2026
845e60d
Merge branch 'main' into rishabh/exp-speed-up-static-check
RishabhAgarwal-2001 Aug 3, 2026
6e5f5c6
Add names to avoid matching with the required check
RishabhAgarwal-2001 Aug 3, 2026
69c8bfe
Merge branch 'main' into rishabh/exp-speed-up-static-check
RishabhAgarwal-2001 Aug 3, 2026
6bde135
Use correct cache key
RishabhAgarwal-2001 Aug 4, 2026
2ec7271
Merge branch 'main' into rishabh/exp-speed-up-static-check
RishabhAgarwal-2001 Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 141 additions & 0 deletions .github/workflows/go-experimental-arm.yml
Comment thread
RishabhAgarwal-2001 marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
name: Go (ARM64 Experimental)
Comment thread
RishabhAgarwal-2001 marked this conversation as resolved.

# NOTE: This is an experimental workflow running on ARM64 infrastructure to
# evaluate execution speed and GitHub caching.
# DO NOT add this check as a required status check for branch protection.
# If this workflow fails, it should NOT block merges to main.

on:
push:
branches: [ main ]
pull_request:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read

env:
XDG_CACHE_HOME: /mnt/cache
GOMODCACHE: /mnt/cache/go-mod

jobs:
build:
name: Build (ARM64)
runs-on: ubuntu-24.04-arm
Comment thread
RishabhAgarwal-2001 marked this conversation as resolved.
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
# Go & staticcheck build cache require a lot of disk space. Reclaim extra
# space for the container by removing unnecessary tooling.
- name: Free additional disk space and prepare cache directory
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo mkdir -p /mnt/cache
sudo chown -R $USER:$USER /mnt/cache
- name: Set up Go
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version-file: 'go.mod'
cache: true
# Cache location is managed by XDG_CACHE_HOME env variable
# Dependency for Go module github.com/google/gopacket
- name: Install libpcap-dev
run: sudo apt-get -y install libpcap-dev
- name: Build
run: go build -v ./...

test:
name: Test (ARM64)
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
# Go & staticcheck build cache require a lot of disk space. Reclaim extra
# space for the container by removing unnecessary tooling.
- name: Free additional disk space and prepare cache directory
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo mkdir -p /mnt/cache
sudo chown -R $USER:$USER /mnt/cache
- name: Set up Go
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version-file: 'go.mod'
cache: true
# Cache location is managed by XDG_CACHE_HOME env variable
# Dependency for Go module github.com/google/gopacket
- name: Install libpcap-dev
run: sudo apt-get -y install libpcap-dev
- run: go test -v -coverprofile=profile.cov $(go list ./... | grep -v /.*test.*)
- name: Send coverage
continue-on-error: true
uses: shogo82148/actions-goveralls@7b1bd2871942af030d707d6574e5f684f9891fb2
with:
path-to-profile: profile.cov

static_analysis:
name: Static Analysis (ARM64)
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Free additional disk space and prepare cache directory
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo mkdir -p /mnt/cache
sudo chown -R $USER:$USER /mnt/cache
- name: Set up Go
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version-file: 'go.mod'
cache: true
# Cache location is managed by XDG_CACHE_HOME env variable
# Dependency for Go module github.com/google/gopacket
- name: Install libpcap-dev
run: sudo apt-get -y install libpcap-dev

# Removed counter-productive go clean -cache

- name: Go vet
run: go vet ./...
- name: Gofmt
run: |
# gofmt always returns true, so we use grep '^' which returns
# true on non-empty output, but will otherwise passthrough all
# output lines.
if gofmt -d -s . | grep '^'; then
exit 1
fi
- name: Get goimports
run: go install golang.org/x/tools/cmd/goimports@latest
- name: Goimports
run: |
# goimports always returns true, so we use grep '^' which returns
# true on non-empty output, but will otherwise passthrough all
# output lines.
#
# goimports does not support "gofmt -s" so both goimports and gofmt are
# required.
find . -name "*.go" | egrep -v "pb.go$" | while read l; do
if goimports -d $l | grep '^'; then
exit 1;
fi;
done
- name: Get revive
run: go install github.com/mgechev/revive@v1.3.4
- name: Run revive
run: revive ./...
- name: Get staticcheck
run: go install honnef.co/go/tools/cmd/staticcheck@latest
- name: Cache staticcheck
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
Comment thread
RishabhAgarwal-2001 marked this conversation as resolved.
path: /mnt/cache/staticcheck
key: ${{ runner.os }}-staticcheck-${{ github.sha }}
restore-keys: |
${{ runner.os }}-staticcheck-
- name: Run staticcheck
run: staticcheck ./...
Loading