Skip to content

CI

CI #1496

Workflow file for this run

name: CI
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 12 * * *' # Every day noon UTC
jobs:
build:
strategy:
matrix:
# Each major Go release is supported until there are two newer major releases.
# https://go.dev/doc/devel/release#policy
go:
- "1.18.x" # Ubuntu 22.04 LTS "jammy"
- "1.19.x" # Debian bookworm, bullseye-backports
- "1.20.x"
- "1.21.x"
- "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