mirror of
https://github.com/hacdias/webdav.git
synced 2024-04-21 12:32:06 +00:00
* feat: introduce structured, field logging
The logging is currently minimal and only for initial message of listening and user login attempts
* chore: major version upgarde
there was a breaking API change in 8cd6d0a585 for which the git tag was v4.0.0 but the Go SIV was missed. This commit updates the SIV and retracts the defective version of v4.1.0.
89 lines
2.2 KiB
YAML
89 lines
2.2 KiB
YAML
# Used as inspiration: https://github.com/mvdan/github-actions-golang
|
|
|
|
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
# Default is true, cancels jobs for other platforms in the matrix if one fails
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
|
go: [ '1.16' ]
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: Install Go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Print Go version and environment
|
|
id: vars
|
|
run: |
|
|
printf "Using go at: $(which go)\n"
|
|
printf "Go version: $(go version)\n"
|
|
printf "\n\nGo environment:\n\n"
|
|
go env
|
|
printf "\n\nSystem environment:\n\n"
|
|
env
|
|
echo "::set-output name=go_cache::$(go env GOCACHE)"
|
|
|
|
- name: Cache the build cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ steps.vars.outputs.go_cache }}
|
|
key: ${{ runner.os }}-${{ matrix.go }}-go-ci-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ matrix.go }}-go-ci
|
|
|
|
- name: Get dependencies
|
|
run: go get -v -t -d ./...
|
|
|
|
# To ensure the project compiles, and not just its tests are passing
|
|
- name: Build webdav
|
|
working-directory: .
|
|
env:
|
|
CGO_ENABLED: 0
|
|
run: go build -trimpath -ldflags="-w -s" -v
|
|
|
|
- name: Run tests
|
|
run: go test -v -race ./...
|
|
|
|
golangci-lint:
|
|
name: runner / golangci-lint
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Run golangci-lint
|
|
uses: reviewdog/action-golangci-lint@v1
|
|
with:
|
|
github_token: ${{ secrets.github_token }}
|
|
|
|
goreleaser-check:
|
|
# goreleaser --rm-dist --skip-validate --skip-publish
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v2
|
|
- uses: goreleaser/goreleaser-action@v2
|
|
with:
|
|
version: latest
|
|
args: check
|
|
env:
|
|
TAG: ${{ steps.vars.outputs.version_tag }}
|