mirror of
https://github.com/xaionaro-go/streamctl.git
synced 2025-12-24 12:27:57 +08:00
73 lines
2.4 KiB
YAML
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 }}
|