-
Notifications
You must be signed in to change notification settings - Fork 29
140 lines (116 loc) · 3.22 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
name: Build
on: [push, pull_request, workflow_dispatch]
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install libsndfile1-dev libvolk2-dev libfftw3-dev catch2
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Build
uses: "./.github/actions/build"
with:
target: sigutils
cmake_configuration_parameters: -DCMAKE_INSTALL_PREFIX=/usr
- name: Build tests
uses: "./.github/actions/build"
with:
target: sigutils_test
- name: Test
uses: "./.github/actions/test"
- name: Package
uses: "./.github/actions/package"
with:
generators: TGZ;DEB
build-macos:
runs-on: macos-latest
steps:
- name: Install dependencies
run: brew install libsndfile volk fftw catch2
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Build
uses: "./.github/actions/build"
with:
target: sigutils
- name: Build tests
uses: "./.github/actions/build"
with:
target: sigutils_test
- name: Test
uses: "./.github/actions/test"
- name: Package
uses: "./.github/actions/package"
with:
generators: TGZ
build-windows:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Install dependencies
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: git mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-cmake 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:
submodules: true
fetch-depth: 0
- name: Build
uses: "./.github/actions/build"
with:
shell: msys2 {0}
target: sigutils
- name: Build tests
uses: "./.github/actions/build"
with:
shell: msys2 {0}
target: sigutils_test
- name: Test
uses: "./.github/actions/test"
with:
shell: msys2 {0}
- name: Package
uses: "./.github/actions/package"
with:
generators: ZIP
release:
runs-on: "ubuntu-latest"
needs:
- build-linux
- build-macos
- build-windows
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/action-automatic-releases@v1.2.1
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/action-automatic-releases@v1.2.1
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
title: "Sigutils ${{github.ref_name}}"
files: sigutils*/*