68 lines
1.7 KiB
YAML
68 lines
1.7 KiB
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- '*'
|
|
|
|
jobs:
|
|
gofmt:
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v2.1.4
|
|
with:
|
|
go-version: ^1.19
|
|
id: go
|
|
# Check the codebase has been formatted by `gofmt`.
|
|
# We run two `gofmt` commands for different purposes:
|
|
# 1. `gofmt -d .`: to print diffs in the CI log if any.
|
|
# 2. `gofmt -l`: to test there is a diff in the codebase. This is because
|
|
# `gofmt` exits with exit status 0 even if there is a diff.
|
|
# This is recommended in https://github.com/golang/go/issues/24230)
|
|
- name: Run gofmt
|
|
run: |
|
|
gofmt -d .
|
|
test -z $(gofmt -l .)
|
|
|
|
linux-tests:
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v2.1.4
|
|
with:
|
|
go-version: ^1.19
|
|
id: go
|
|
- name: Install fuse
|
|
run: sudo apt-get update && sudo apt-get install -y fuse3 libfuse-dev
|
|
- name: Build
|
|
run: go build ./...
|
|
# Disabled running `go test` because running tests hung at random,
|
|
# preventing us from running the tests in CI reliably.
|
|
# (cf. https://github.com/jacobsa/fuse/issues/97)
|
|
|
|
macos-build:
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v2.1.4
|
|
with:
|
|
go-version: ^1.19
|
|
id: go
|
|
- name: Install macfuse
|
|
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install macfuse
|
|
- name: Build
|
|
run: |
|
|
go build ./...
|
|
go build ./samples/mount_hello/... ./samples/mount_roloopbackfs/... ./samples/mount_sample/...
|
|
# Skip running tests as `go test` hung in macOS.
|