Skip to content

add freebsd support #164

add freebsd support

add freebsd support #164

Workflow file for this run

# Test whether we can link to LLVM installed from apt.llvm.org or Homebrew.
---
name: Test
on: [push, pull_request]
jobs:
test-macos:
runs-on: macos-latest
strategy:
matrix:
llvm: [14, 15, 16, 17, 18, 19, 20, 21]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
# Optional step when a LLVM version is very new.
- name: Update Homebrew
run: brew update
- name: Install LLVM
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install llvm@${{ matrix.llvm }}
- name: Test LLVM ${{ matrix.llvm }}
run:
go test -v -tags=llvm${{ matrix.llvm }}
- name: Test default LLVM
if: matrix.llvm == 21
run:
go test -v
test-linux:
runs-on: ubuntu-22.04
strategy:
matrix:
llvm: [14, 15, 16, 17, 18, 19, 20, 21]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Install LLVM
run: |
echo 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ matrix.llvm }} main' | sudo tee /etc/apt/sources.list.d/llvm.list
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install --no-install-recommends llvm-${{ matrix.llvm }}-dev
- name: Test LLVM ${{ matrix.llvm }}
run:
go test -v -tags=llvm${{ matrix.llvm }}
- name: Test default LLVM
if: matrix.llvm == 21
run:
go test -v
test-freebsd:
name: test-freebsd
runs-on: ubuntu-latest
strategy:
matrix:
llvm: [19, 20]
steps:
- uses: actions/checkout@v4
- name: FreeBSD test 14.3
uses: vmactions/freebsd-vm@v1
with:
release: '14.3'
usesh: true
prepare: |
# Update package database with IGNORE_OSVERSION
pkg update -f || true
# Install llvm build dependencies
pkg install -y llvm${{ matrix.llvm }}
# Install default version go dependency
pkg install -y go
run: |
# Show environment info
echo "FreeBSD version:"
freebsd-version
# Test with llvm${{ matrix.llvm }}
echo "Clang ${{ matrix.llvm }} version info:"
/usr/local/llvm${{ matrix.llvm }}/bin/clang --version
echo "Test with llvm${{ matrix.llvm }} tag"
go test -v -tags=llvm${{ matrix.llvm }}