* Bump GitHub workflow actions to latest versions * Fixed typo --------- Co-authored-by: Cristian Maglie <c.maglie@bug.st>
72 lines
1.7 KiB
YAML
72 lines
1.7 KiB
YAML
name: test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
jobs:
|
|
native-os-build:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macOS-latest]
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
- name: Setup CGO Environment
|
|
run: |
|
|
if [ ${{ matrix.os }} == 'macOS-latest' ] ; then
|
|
echo "CGO_ENABLED=1" >> "$GITHUB_ENV"
|
|
fi
|
|
shell: bash
|
|
- name: Build AMD64
|
|
run: GOARCH=amd64 go build -v ./...
|
|
shell: bash
|
|
- name: Build ARM64
|
|
run: GOARCH=arm64 go build -v ./...
|
|
shell: bash
|
|
- name: Install socat
|
|
if: matrix.os == 'ubuntu-latest'
|
|
run: sudo apt-get install socat
|
|
shell: bash
|
|
- name: Run unit tests
|
|
run: go test -v -race ./...
|
|
shell: bash
|
|
- name: Cross-build for 386
|
|
if: matrix.os != 'macOS-latest'
|
|
run: GOARCH=386 go build -v ./...
|
|
shell: bash
|
|
- name: Cross-build for arm
|
|
if: matrix.os != 'macOS-latest'
|
|
run: GOARCH=arm go build -v ./...
|
|
shell: bash
|
|
|
|
cross-os-build:
|
|
strategy:
|
|
matrix:
|
|
go-os-pairs:
|
|
- "freebsd amd64"
|
|
- "openbsd amd64"
|
|
- "openbsd 386"
|
|
- "openbsd arm"
|
|
- "linux ppc64le"
|
|
|
|
runs-on: "ubuntu-latest"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
- name: Cross-build
|
|
run: |
|
|
set ${{ matrix.go-os-pairs }}
|
|
GOOS=$1 GOARCH=$2 go build -v ./...
|
|
shell: bash
|