mirror of
https://github.com/coturn/coturn.git
synced 2025-12-25 01:41:00 +01:00
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
121 lines
4.2 KiB
YAML
121 lines
4.2 KiB
YAML
name: MinGW
|
|
|
|
on:
|
|
push:
|
|
branches: ["master"]
|
|
tags: ["4.*"]
|
|
pull_request:
|
|
branches: ["master"]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
name: build
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ["windows"]
|
|
# Customize the CMake build type here (`Release`, `Debug`, `RelWithDebInfo`, etc.)
|
|
BUILD_TYPE: ["Release", "Debug"]
|
|
BUILD_SHARED_LIBS: ["OFF"]
|
|
defaults:
|
|
run:
|
|
shell: cmd
|
|
runs-on: ${{ matrix.os }}-latest
|
|
env:
|
|
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
|
|
SOURCE_DIR: ${{ github.workspace }}\.cache\source
|
|
TOOSL_DIR: ${{ github.workspace }}\.cache\tools
|
|
INSTALL_DIR: ${{ github.workspace }}\.cache\install_mingw_2022_02_15
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
C:\msys64\usr\bin\pacman.exe -S --noconfirm ^
|
|
mingw-w64-x86_64-cmake ^
|
|
mingw-w64-x86_64-make ^
|
|
mingw-w64-x86_64-nsis ^
|
|
mingw-w64-x86_64-gcc ^
|
|
mingw-w64-x86_64-zlib ^
|
|
mingw-w64-x86_64-openssl ^
|
|
mingw-w64-x86_64-libevent ^
|
|
mingw-w64-x86_64-sqlite3 ^
|
|
mingw-w64-x86_64-hiredis ^
|
|
mingw-w64-x86_64-postgresql ^
|
|
mingw-w64-x86_64-libmicrohttpd ^
|
|
git base-devel
|
|
env:
|
|
PATH: C:\msys64\usr\bin
|
|
|
|
- name: Create directories
|
|
run: |
|
|
cmake -E make_directory ${{ env.SOURCE_DIR }}
|
|
cmake -E make_directory ${{ env.TOOSL_DIR }}
|
|
cmake -E make_directory ${{ env.INSTALL_DIR }}
|
|
|
|
- name: Cache installed
|
|
uses: actions/cache@v4
|
|
id: cache-installed
|
|
with:
|
|
path: ${{ env.INSTALL_DIR }}
|
|
key: coturn-cache-installed-mingw
|
|
|
|
- name: Build Prometheus
|
|
run: |
|
|
cd ${{ env.SOURCE_DIR }}
|
|
git clone https://github.com/digitalocean/prometheus-client-c.git
|
|
cd prometheus-client-c/prom
|
|
mkdir build
|
|
cd build
|
|
cmake .. -G"MinGW Makefiles" ^
|
|
-DBUILD_SHARED_LIBS=${{ matrix.BUILD_SHARED_LIBS }} ^
|
|
-DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} ^
|
|
-DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }}
|
|
cmake --build . --config ${{ matrix.BUILD_TYPE }}
|
|
cmake --build . --config ${{ matrix.BUILD_TYPE }} --target install
|
|
env:
|
|
MSYSTEM: MINGW64
|
|
PATH: C:\msys64\mingw64\bin;C:\msys64\usr\bin
|
|
working-directory: ${{ env.SOURCE_DIR }}
|
|
if: ${{ false }}
|
|
|
|
- name: Build Coturn
|
|
run: |
|
|
cmake -E make_directory build
|
|
cd build
|
|
cmake .. -G"MinGW Makefiles" ^
|
|
-DBUILD_SHARED_LIBS=${{ matrix.BUILD_SHARED_LIBS }} ^
|
|
-DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} ^
|
|
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/build/install
|
|
cmake --build . --config ${{ matrix.BUILD_TYPE }}
|
|
cmake --build . --config ${{ matrix.BUILD_TYPE }} --target install
|
|
env:
|
|
MSYSTEM: MINGW64
|
|
PATH: C:\msys64\mingw64\bin;C:\msys64\usr\bin
|
|
Prometheus_ROOT: ${{ env.INSTALL_DIR }}
|
|
working-directory: ${{ github.workspace }}
|
|
|
|
- name: Package
|
|
run: |
|
|
copy /Y ${{ env.INSTALL_DIR }}\bin\*.dll install\bin
|
|
copy /Y ${{ env.INSTALL_DIR }}\lib\*.dll install\bin
|
|
copy /Y ${{ env.RUNVCPKG_VCPKG_ROOT }}\installed\${{ env.RUNVCPKG_VCPKG_TRIPLET_OUT }}\bin\*.dll install\bin
|
|
7z a coturn_windows_mingw.zip ${{ github.workspace }}\build\install\*
|
|
cmake --build . --config ${{ matrix.BUILD_TYPE }} --target package
|
|
working-directory: ${{ github.workspace }}\build
|
|
if: ${{ matrix.BUILD_TYPE == 'Release' }}
|
|
|
|
- name: Update artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: coturn_mingw_${{ matrix.os }}
|
|
path: |
|
|
${{ github.workspace }}\build\coturn_windows_mingw.zip
|
|
${{ github.workspace }}\build\coturn*.exe
|
|
${{ github.workspace }}\build\coturn*.md5
|
|
if: ${{ matrix.BUILD_TYPE == 'Release' }}
|