mirror of
https://github.com/strukturag/nextcloud-spreed-signaling
synced 2024-05-07 16:16:33 +02:00
a34f3b6093
While it might still compile with 1.17, it's no longer tested through CI and at some point, features that require 1.18 will be used.
111 lines
2.6 KiB
YAML
111 lines
2.6 KiB
YAML
name: tarball
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths:
|
|
- '.github/workflows/tarball.yml'
|
|
- '**.go'
|
|
- 'go.*'
|
|
- 'Makefile'
|
|
pull_request:
|
|
branches: [ master ]
|
|
paths:
|
|
- '.github/workflows/tarball.yml'
|
|
- '**.go'
|
|
- 'go.*'
|
|
- 'Makefile'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
create:
|
|
strategy:
|
|
matrix:
|
|
go-version:
|
|
- "1.18"
|
|
- "1.19"
|
|
- "1.20"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-go@v3
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
|
|
- id: go-cache-paths
|
|
run: |
|
|
echo "::set-output name=go-build::$(go env GOCACHE)"
|
|
echo "::set-output name=go-mod::$(go env GOMODCACHE)"
|
|
echo "::set-output name=go-version::$(go version | cut -d ' ' -f 3)"
|
|
|
|
- name: Go build cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ${{ steps.go-cache-paths.outputs.go-build }}
|
|
key: ${{ runner.os }}-${{ steps.go-cache-paths.outputs.go-version }}-build-${{ hashFiles('**/go.mod', '**/go.sum') }}
|
|
|
|
- name: Go mod cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ${{ steps.go-cache-paths.outputs.go-mod }}
|
|
key: ${{ runner.os }}-${{ steps.go-cache-paths.outputs.go-version }}-mod-${{ hashFiles('**/go.mod', '**/go.sum') }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt -y update && sudo apt -y install protobuf-compiler
|
|
|
|
- name: Create tarball
|
|
run: |
|
|
echo "Building with $(nproc) threads"
|
|
make tarball
|
|
|
|
- name: Upload tarball
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: tarball-${{ matrix.go-version }}
|
|
path: nextcloud-spreed-signaling*.tar.gz
|
|
|
|
test:
|
|
strategy:
|
|
matrix:
|
|
go-version:
|
|
- "1.18"
|
|
- "1.19"
|
|
- "1.20"
|
|
runs-on: ubuntu-latest
|
|
needs: [create]
|
|
steps:
|
|
- uses: actions/setup-go@v3
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt -y update && sudo apt -y install protobuf-compiler
|
|
|
|
- name: Download tarball
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: tarball-${{ matrix.go-version }}
|
|
|
|
- name: Extract tarball
|
|
run: |
|
|
mkdir -p tmp
|
|
tar xf nextcloud-spreed-signaling*.tar.gz --strip-components=1 -C tmp
|
|
[ -d "tmp/vendor" ] || exit 1
|
|
|
|
- name: Build
|
|
env:
|
|
GOPROXY: off
|
|
run: |
|
|
echo "Building with $(nproc) threads"
|
|
make -C tmp build -j$(nproc)
|
|
|
|
- name: Run tests
|
|
env:
|
|
GOPROXY: off
|
|
run: |
|
|
make -C tmp test TIMEOUT=120s
|