Files
streamctl/.github/workflows/build.yaml
Dmitrii Okunev e56fa51e97 [github] Fix CI
2025-11-12 15:36:00 +00:00

73 lines
2.4 KiB
YAML

name: build
on: [workflow_call]
jobs:
build:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
target:
- name: streampanel-linux-amd64
artifact: streampanel-linux-amd64
- name: ENABLE_VLC=false dockerbuild-streampanel-android-arm64
artifact: streampanel-arm64.apk
- name: streampanel-windows-amd64.zip
artifact: streampanel-windows-amd64.zip
name: build
steps:
- name: Free disk space
if: ${{ matrix.target.name == 'ENABLE_VLC=false dockerbuild-streampanel-android-arm64' }}
uses: jlumbroso/free-disk-space@main
- uses: actions/checkout@v4
- uses: docker/setup-docker-action@v4
if: ${{ matrix.target.name == 'ENABLE_VLC=false dockerbuild-streampanel-android-arm64' }}
timeout-minutes: 12
- name: setup go
uses: actions/setup-go@v5
with:
go-version: '1.24'
check-latest: true
- name: add ffmpeg7 repo
run: sudo add-apt-repository -y ppa:ubuntuhandbook1/ffmpeg7
- name: install fyne
run: go install fyne.io/fyne/v2/cmd/fyne@latest
- name: apt install
if: ${{ matrix.target.name != 'ENABLE_VLC=false dockerbuild-streampanel-android-arm64' }}
run: |
sudo apt install -fy \
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavformat-dev \
libavutil-dev \
libvlc-dev \
libx11-dev \
libxcursor-dev \
libxinerama-dev \
libxi-dev \
libglfw3-dev \
libasound2-dev \
libxxf86vm-dev \
libsrt-gnutls-dev \
libgnutls28-dev \
nettle-dev \
- name: apt install
if: ${{ matrix.target.name == 'streampanel-windows-amd64.zip' }}
run: |
sudo apt install -fy \
gcc-mingw-w64-x86-64-win32 \
- name: apt clean
run: |
sudo apt clean
- name: make ${{ matrix.target.name }}
run: make ${{ matrix.target.name }}
env:
TWITCH_CLIENT_ID: ${{ secrets.TWITCH_CLIENT_ID }}
TWITCH_CLIENT_SECRET: ${{ secrets.TWITCH_CLIENT_SECRET }}
- name: upload-artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target.artifact }}
path: build/${{ matrix.target.artifact }}