mirror of
https://github.com/owncast/owncast.git
synced 2024-11-26 14:56:14 +03:00
89 lines
2 KiB
YAML
89 lines
2 KiB
YAML
name: Go Tests
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- 'web/**'
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'web/**'
|
|
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
matrix:
|
|
go-version: [1.21.x, 1.22.x]
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Get changed files
|
|
id: changed-files-yaml
|
|
uses: tj-actions/changed-files@v44
|
|
with:
|
|
files_yaml: |
|
|
src:
|
|
- '**/*.{go,mod,sum}'
|
|
|
|
- uses: actions/cache@v4
|
|
if: steps.changed-files-yaml.outputs.src_any_changed == 'true'
|
|
with:
|
|
path: |
|
|
~/.cache/go-build
|
|
~/go/pkg/mod
|
|
key: go-test-${{ github.sha }}
|
|
restore-keys: |
|
|
go-test-
|
|
|
|
- name: Install go
|
|
if: steps.changed-files-yaml.outputs.src_any_changed == 'true'
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '^1'
|
|
cache: true
|
|
|
|
- name: Run tests
|
|
if: steps.changed-files-yaml.outputs.src_any_changed == 'true'
|
|
run: go test ./...
|
|
|
|
test-bsds:
|
|
runs-on: macos-latest
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- name: freebsd
|
|
version: 12.2
|
|
- name: openbsd
|
|
version: 6.8
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Get changed files
|
|
id: changed-files-yaml
|
|
uses: tj-actions/changed-files@v44
|
|
with:
|
|
files_yaml: |
|
|
src:
|
|
- '**/*.{go,mod,sum}'
|
|
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cache/go-build
|
|
~/go/pkg/mod
|
|
key: go-test-${{ github.sha }}
|
|
restore-keys: |
|
|
go-test-
|
|
|
|
- name: Install go
|
|
if: steps.changed-files-yaml.outputs.src_any_changed == 'true'
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '^1'
|
|
cache: true
|
|
|
|
- name: Run tests
|
|
if: steps.changed-files-yaml.outputs.src_any_changed == 'true'
|
|
run: go test ./...
|