fusego/.github/workflows/ci.yml

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.