summaryrefslogtreecommitdiffstats
path: root/.github/workflows/freebsd.yml
blob: 55e3478bf656341c171b6a61a275143d4e2b2e9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
name: FreeBSD

on: [push, pull_request]

jobs:
  build:
    if: ${{ github.repository_owner == 'tavianator' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }}

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Install dependencies
        env:
          SSH_KEY: ${{ secrets.SSH_KEY }}
          TAILSCALE_KEY: ${{ secrets.TAILSCALE_KEY }}
          TAILSCALE_MACHINE_KEY: ${{ secrets.TAILSCALE_MACHINE_KEY }}
        run: |
          sudo mkdir /var/lib/tailscale
          printf '%s' "$TAILSCALE_MACHINE_KEY" | sudo tee /var/lib/tailscale/tailscaled.state >/dev/null
          curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.gpg | sudo apt-key add -
          curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.list | sudo tee /etc/apt/sources.list.d/tailscale.list
          sudo apt-get update -y
          sudo apt-get install -y tailscale
          sudo tailscale up --hostname=gh-runner --authkey="$TAILSCALE_KEY"
          mkdir ~/.ssh
          printf '%s' "$SSH_KEY" >~/.ssh/github-actions
          chmod 0600 ~/.ssh/github-actions
          printf 'Host muon\n\tStrictHostKeyChecking=accept-new\n\tUser github\n\tIdentityFile ~/.ssh/github-actions\n' >~/.ssh/config

      - name: Run tests
        run: |
          rsync -rl --delete . muon:bfs
          ssh muon 'gmake -C bfs -j$(sysctl -n hw.ncpu) distcheck'