Skip to content

Commit

Permalink
🏗️ gh-actions: add workflow to test with gotip
Browse files Browse the repository at this point in the history
We directly use and have dependencies that rely on go:linkname. Therefore it's important that we test for breakages with gotip before the next Go release is out.

Building gotip is quite slow on non-Linux runners, so we only occasionally trigger this workflow by hand.
  • Loading branch information
database64128 committed Feb 22, 2024
1 parent 181a596 commit 98931e1
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/test_gotip.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Test with gotip

on:
workflow_dispatch:

jobs:
test:
name: Test
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
fail-fast: false
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Install gotip
run: |
go install golang.org/dl/gotip@latest
gotip download
- name: Build
run: |
gotip env -w GOAMD64=v3
gotip build -v -trimpath -ldflags '-s -w' ./cmd/shadowsocks-go
gotip build -v -trimpath -ldflags '-s -w' ./cmd/shadowsocks-go-domain-set-converter
- name: Test
run: gotip test -v ./...

- name: Upload Binaries
uses: actions/upload-artifact@v4
with:
name: shadowsocks-go-${{ github.sha }}-${{ matrix.os }}-x86-64-v3
path: shadowsocks-go*

0 comments on commit 98931e1

Please sign in to comment.