2021-07-29 12:12:49 +02:00
|
|
|
name: CI
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
pull_request:
|
|
|
|
schedule:
|
|
|
|
- cron: '0 12 * * *' # Every day noon UTC
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
2021-08-16 21:40:44 +02:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
go:
|
|
|
|
- "1.13.x" # Ubuntu 20.04 LTS "focal"
|
|
|
|
- "1.15.x" # Debian 11 "Bullseye"
|
|
|
|
- "1.16.x" # Golang upstream stable
|
|
|
|
- "1.17.x" # Golang upstream stable
|
|
|
|
# Don't cancel everything when one Go version fails
|
|
|
|
fail-fast: false
|
2021-07-29 12:12:49 +02:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
|
2021-08-16 21:40:44 +02:00
|
|
|
- name: Install Go ${{ matrix.go }}
|
|
|
|
uses: actions/setup-go@v2
|
|
|
|
with:
|
|
|
|
go-version: ${{ matrix.go }}
|
|
|
|
|
2021-07-29 12:12:49 +02:00
|
|
|
# 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@v2
|
|
|
|
with:
|
|
|
|
fetch-depth: 0 # Make "git describe" work
|
|
|
|
|
|
|
|
# CI platform specific setup steps happen here
|
|
|
|
- run: sudo apt-get install -qq fuse3 libssl-dev
|
|
|
|
|
2021-10-15 21:59:12 +02:00
|
|
|
# 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
|
|
|
|
|
2021-07-29 12:12:49 +02:00
|
|
|
# Build & upload static binary
|
|
|
|
- run: ./build-without-openssl.bash
|
|
|
|
- uses: actions/upload-artifact@v2
|
|
|
|
with:
|
2021-08-16 21:40:44 +02:00
|
|
|
name: gocryptfs static binary (Go ${{ matrix.go }})
|
2021-07-29 12:12:49 +02:00
|
|
|
path: gocryptfs
|
|
|
|
|
|
|
|
# Actual test steps are in the Makefile
|
|
|
|
- run: make ci
|