-
Notifications
You must be signed in to change notification settings - Fork 28
85 lines (68 loc) · 2.28 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: Build
on: [push, pull_request, workflow_dispatch]
jobs:
build:
strategy:
matrix:
sys:
- { os: windows-latest, shell: 'msys2 {0}' }
- { os: ubuntu-latest, shell: bash }
- { os: macos-latest, shell: bash }
runs-on: ${{ matrix.sys.os }}
defaults:
run:
shell: ${{ matrix.sys.shell }}
steps:
- name: Install dependencies (Ubuntu)
if: matrix.sys.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install meson libsndfile1-dev libvolk2-dev libfftw3-dev catch2
- name: Install dependencies (Mac OS)
if: matrix.sys.os == 'macos-latest'
run: brew install -vd meson libsndfile volk fftw catch2
- name: Install dependencies (Windows)
if: matrix.sys.os == 'windows-latest'
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: git mingw-w64-x86_64-meson mingw-w64-x86_64-ninja mingw-w64-x86_64-gcc mingw-w64-x86_64-libsndfile mingw-w64-x86_64-fftw mingw-w64-x86_64-volk mingw-w64-x86_64-catch
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure
run: meson setup builddir
- name: Build
run: meson compile -C builddir
- name: Test
run: meson test -C builddir
# TODO: Package
# TODO: Upload artifacts
# release:
# runs-on: "ubuntu-latest"
# needs: build
# steps:
# - name: Get current date
# id: date
# run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
# - name: Download binaries
# uses: actions/download-artifact@v4
# - name: Release nightly
# if: github.ref == 'refs/heads/master'
# uses: marvinpinto/[email protected]
# with:
# repo_token: "${{ secrets.GITHUB_TOKEN }}"
# automatic_release_tag: "latest"
# prerelease: true
# title: "Sigutils nightly (${{steps.date.outputs.date}})"
# files: sigutils*/*
# - name: Release stable
# if: contains(github.ref, 'refs/tags/v')
# uses: marvinpinto/[email protected]
# with:
# repo_token: "${{ secrets.GITHUB_TOKEN }}"
# prerelease: false
# title: "Sigutils ${{github.ref_name}}"
# files: sigutils*/*