mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-04 23:45:34 +00:00
CI: use BuildJet & self-hosted Windows runners
1. Use buildjet for the longer Linux CI workflows. 2. Use a self-hosted Windows runner. 3. Make CIFuzz run on merge to main or release branch. Two runs each of the original workflow files and the updated workflows in this PR: GitHub GitHub BuildJet BuildJet codeql-analysis.yml 4m 30s cached 2m 56s 2m 59s cross-darwin.yml 3m 10s 3m 19s 1m 33s 1m 30s cross-freebsd.yml 3m 33s 3m 10s 1m 28s 1m 22s cross-openbsd.yml 3m 4s 2m 36s 1m 29s 1m 22s cross-wasm.yml 1m 59s 2m 2s 1m 12s 1m 16s cross-windows.yml 2m 45s 3m 0s 1m 44s 1m 25s linux32.yml 4m 27s 4m 0s 1m 55s 2m 8s linux-race.yml 3m 54s 4m 7s 2m 22s 2m 12s linux.yml 4m 23s 4m 39s 2m 37s 2m 15s static-analysis.yml /vet 1m 41s 2m 22s 52s 56s /staticcheck(linux, amd64) 2m 47s 2m 38s 1m 7s 1m 10s /staticcheck(windows, amd64) 2m 5s 2m 4s 1m 6s 1m 8s /staticcheck(darwin, amd64) 2m 14s 2m 20s 1m 10s 1m 10s /staticcheck(windows, 386) 2m 36s 1m 58s 1m 23s 1m 8s vm.yml 1m 30s 1m 32s 2m 31s 2m 23s windows.yml 6m 23s 6m 19s 3m 40s 3m 53s A few very short workflows are being left on GitHub-hosted runners, like licenses and gofmt. These benefit from the quicker dispatch to GitHub hosted runners. Signed-off-by: Denton Gentry <dgentry@tailscale.com>
This commit is contained in:
parent
fb4e23506f
commit
3d24611e32
8
.github/workflows/cifuzz.yml
vendored
8
.github/workflows/cifuzz.yml
vendored
@ -1,5 +1,7 @@
|
|||||||
name: CIFuzz
|
name: CIFuzz
|
||||||
on: [pull_request]
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main, release-branch/* ]
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-$${{ github.head_ref || github.run_id }}
|
group: ${{ github.workflow }}-$${{ github.head_ref || github.run_id }}
|
||||||
@ -7,7 +9,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Fuzzing:
|
Fuzzing:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
steps:
|
steps:
|
||||||
- name: Build Fuzzers
|
- name: Build Fuzzers
|
||||||
id: build
|
id: build
|
||||||
@ -20,7 +22,7 @@ jobs:
|
|||||||
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
|
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
|
||||||
with:
|
with:
|
||||||
oss-fuzz-project-name: 'tailscale'
|
oss-fuzz-project-name: 'tailscale'
|
||||||
fuzz-seconds: 300
|
fuzz-seconds: 900
|
||||||
dry-run: false
|
dry-run: false
|
||||||
language: go
|
language: go
|
||||||
- name: Upload Crash
|
- name: Upload Crash
|
||||||
|
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@ -27,7 +27,7 @@ concurrency:
|
|||||||
jobs:
|
jobs:
|
||||||
analyze:
|
analyze:
|
||||||
name: Analyze
|
name: Analyze
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
permissions:
|
permissions:
|
||||||
actions: read
|
actions: read
|
||||||
contents: read
|
contents: read
|
||||||
|
2
.github/workflows/cross-darwin.yml
vendored
2
.github/workflows/cross-darwin.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
|
2
.github/workflows/cross-freebsd.yml
vendored
2
.github/workflows/cross-freebsd.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
|
2
.github/workflows/cross-openbsd.yml
vendored
2
.github/workflows/cross-openbsd.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
|
2
.github/workflows/cross-wasm.yml
vendored
2
.github/workflows/cross-wasm.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
|
2
.github/workflows/cross-windows.yml
vendored
2
.github/workflows/cross-windows.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
|
2
.github/workflows/linux-race.yml
vendored
2
.github/workflows/linux-race.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
|
6
.github/workflows/linux.yml
vendored
6
.github/workflows/linux.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
@ -38,10 +38,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Get QEMU
|
- name: Get QEMU
|
||||||
run: |
|
run: |
|
||||||
# The qemu in Ubuntu 20.04 (Focal) is too old; we need 5.x something
|
|
||||||
# to run Go binaries. 5.2.0 (Debian bullseye) empirically works, and
|
|
||||||
# use this PPA which brings in a modern qemu.
|
|
||||||
sudo add-apt-repository -y ppa:jacob/virtualisation
|
|
||||||
sudo apt-get -y update
|
sudo apt-get -y update
|
||||||
sudo apt-get -y install qemu-user
|
sudo apt-get -y install qemu-user
|
||||||
|
|
||||||
|
2
.github/workflows/linux32.yml
vendored
2
.github/workflows/linux32.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
|
4
.github/workflows/static-analysis.yml
vendored
4
.github/workflows/static-analysis.yml
vendored
@ -40,7 +40,7 @@ jobs:
|
|||||||
if: failure() && github.event_name == 'push'
|
if: failure() && github.event_name == 'push'
|
||||||
|
|
||||||
vet:
|
vet:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
steps:
|
steps:
|
||||||
- name: Set up Go
|
- name: Set up Go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@v3
|
||||||
@ -66,7 +66,7 @@ jobs:
|
|||||||
if: failure() && github.event_name == 'push'
|
if: failure() && github.event_name == 'push'
|
||||||
|
|
||||||
staticcheck:
|
staticcheck:
|
||||||
runs-on: ubuntu-latest
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
goos: [linux, windows, darwin]
|
goos: [linux, windows, darwin]
|
||||||
|
9
.github/workflows/vm.yml
vendored
9
.github/workflows/vm.yml
vendored
@ -11,7 +11,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ubuntu2004-LTS-cloud-base:
|
ubuntu2004-LTS-cloud-base:
|
||||||
runs-on: [ self-hosted, linux, vm ]
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
@ -27,12 +27,17 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version-file: go.mod
|
go-version-file: go.mod
|
||||||
|
|
||||||
|
- name: Get QEMU
|
||||||
|
run: |
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get -y install qemu-system-x86 qemu-user genisoimage qemu-utils
|
||||||
|
|
||||||
- name: Run VM tests
|
- name: Run VM tests
|
||||||
run: go test ./tstest/integration/vms -v -no-s3 -run-vm-tests -run=TestRunUbuntu2004
|
run: go test ./tstest/integration/vms -v -no-s3 -run-vm-tests -run=TestRunUbuntu2004
|
||||||
env:
|
env:
|
||||||
HOME: "/tmp"
|
HOME: "/tmp"
|
||||||
TMPDIR: "/tmp"
|
TMPDIR: "/tmp"
|
||||||
XDG_CACHE_HOME: "/var/lib/ghrunner/cache"
|
XDG_CACHE_HOME: "/home/runner/cache"
|
||||||
|
|
||||||
- uses: k0kubun/action-slack@v2.0.0
|
- uses: k0kubun/action-slack@v2.0.0
|
||||||
with:
|
with:
|
||||||
|
2
.github/workflows/windows.yml
vendored
2
.github/workflows/windows.yml
vendored
@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: windows-latest
|
runs-on: [ self-hosted, Windows ]
|
||||||
|
|
||||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user