52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule:
|
|
- cron: '0 12 * * *' # Every day noon UTC
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
go:
|
|
- "1.13.x" # Ubuntu 20.04 LTS "focal"
|
|
- "1.15.x" # Debian 11 "Bullseye"
|
|
- "1.18.x" # Ubuntu 22.04 LTS "jammy"
|
|
- "oldstable" # 2nd-latest Golang upstream stable
|
|
- "stable" # Latest Go upstream stable
|
|
# Don't cancel everything when one Go version fails
|
|
fail-fast: false
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Install Go ${{ matrix.go }}
|
|
uses: actions/setup-go@v3
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
|
|
# Looks like Github Actions leaks fds to child processes
|
|
# https://github.com/actions/runner/issues/1188
|
|
- run: ls -l /proc/self/fd
|
|
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Make "git describe" work
|
|
|
|
# CI platform specific setup steps happen here
|
|
- run: sudo apt-get install -qq fuse3 libssl-dev
|
|
|
|
# Fix "/usr/bin/fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf"
|
|
- run: echo user_allow_other | sudo tee -a /etc/fuse.conf
|
|
|
|
# Build & upload static binary
|
|
- run: ./build-without-openssl.bash
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: gocryptfs static binary (Go ${{ matrix.go }})
|
|
path: gocryptfs
|
|
|
|
# Actual test steps are in the Makefile
|
|
- run: make ci
|