Skip to content

ci/freebsd: Use tailscale ssh #472

ci/freebsd: Use tailscale ssh

ci/freebsd: Use tailscale ssh #472

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
linux:
name: Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y \
gcc-multilib \
libgcc-s1:i386 \
acl \
libacl1-dev \
libacl1:i386 \
attr \
libattr1-dev \
libattr1:i386 \
libcap2-bin \
libcap-dev \
libcap2:i386 \
libonig-dev \
libonig5:i386 \
liburing-dev
# Ubuntu doesn't let you install the -dev packages for both amd64 and
# i386 at once, so we make our own symlinks to fix -m32 -lacl -l...
sudo ln -s libacl.so.1 /lib/i386-linux-gnu/libacl.so
sudo ln -s libattr.so.1 /lib/i386-linux-gnu/libattr.so
sudo ln -s libcap.so.2 /lib/i386-linux-gnu/libcap.so
sudo ln -s libonig.so.5 /lib/i386-linux-gnu/libonig.so
- name: Run tests
run: |
make -j$(nproc) distcheck
macos:
name: macOS
runs-on: macos-13
steps:
- uses: actions/checkout@v3
- name: Run tests
run: |
make -j$(sysctl -n hw.ncpu) distcheck
freebsd:
name: FreeBSD
if: ${{ github.repository_owner == 'tavianator' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }}
runs-on: ubuntu-latest
concurrency: spurion
steps:
- uses: actions/checkout@v3
- uses: tailscale/github-action@main
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
tags: tag:ci
- name: Run tests
run: |
spurion=$(tailscale ip -6 spurion)
mkdir ~/.ssh
printf 'Host %s\n\tStrictHostKeyChecking=accept-new\n\tUser github\n' "$spurion" >~/.ssh/config
rsync -rl --delete . "[$spurion]:bfs"
ssh "$spurion" '. ~/.ssh/rc; gmake -C bfs -j$(sysctl -n hw.ncpu) distcheck CC=clang16'