-
Notifications
You must be signed in to change notification settings - Fork 404
161 lines (136 loc) · 4.92 KB
/
build-release.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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
name: Build Release or Nightly Installer
on:
push:
branches:
- main
- testrelease
tags:
- 'release_xt_**'
defaults:
run:
shell: bash
jobs:
build_plugin:
name: Release Build - ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- name: "windows clang x64"
os: windows-latest
cmakeArgs: -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
- name: "macos"
os: macos-latest
cmakeArgs: -D"CMAKE_OSX_ARCHITECTURES=arm64;x86_64"
- name: "windows 32 bit"
os: windows-latest
cmakeArgs: -A Win32
steps:
- name: Configure surge version (Nightly)
if: ${{ github.ref == 'refs/heads/release_xt_' || github.ref == 'refs/heads/testrelease' }}
run: |
echo ${{ toJSON(github.event) }}
export SURGE_VERSION="NIGHTLY-$(date +%Y-%m-%d)-$(git rev-parse --short HEAD)"
- name: Configure surge version (Numbered Release)
if: startsWith(github.ref, 'refs/tags/release_xt_')
run: |
echo Numbered Releases are not yet implemented
exit 123
- name: Debug Surge Version Some
run: |
echo ${SURGE_VERSION}
exit 11
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- uses: apple-actions/import-codesign-certs@v3
if: runner.os == 'macOS'
with:
p12-file-base64: ${{ secrets.MAC_CERTS_P12 }}
p12-password: ${{ secrets.CERT_PWD }}
- name: Prepare for JUCE
uses: surge-synthesizer/sst-githubactions/prepare-for-juce@main
with:
os: ${{ runner.os }}
- name: Build release version
run: |
export MAC_SIGNING_CERT="${{ secrets.MAC_SIGNING_CERT_NAME }}"
export MAC_INSTALLING_CERT="${{ secrets.MAC_INSTALLING_CERT_NAME }}"
export MAC_SIGNING_ID="${{ secrets.MAC_SIGNING_ID }}"
export MAC_SIGNING_1UPW="${{ secrets.MAC_SIGNING_1UPW }}"
export MAC_SIGNING_TEAM="${{ secrets.MAC_SIGNING_TEAM }}"
cmake -S . -B ./build -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmakeArgs }}
cmake --build ./build --config Release --target shortcircuit-installer --parallel 3
- name: Show Installer Directory
run: |
ls -l ./build/installer
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
path: build/installer
name: build-${{ matrix.os }}
build_plugin_docker:
name: Docker Build Ubuntu18
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build in Docker
uses: surge-synthesizer/sst-githubactions/cmake-in-docker@main
with:
username: ${{ github.actor }}
token: ${{ secrets.GITHUB_TOKEN }}
cmakeArgs: -DCMAKE_BUILD_TYPE=Release -GNinja
target: shortcircuit-installer
- name: Show Installer Directory
run: |
ls -l ./build/installer
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
path: build/installer
name: build-docker
publish-scxt-nightly:
name: Publish scxt Nightly
if: ${{ github.ref == 'refs/heads/main' && github.repository_owner == 'surge-synthesizer' }}
runs-on: ubuntu-latest
needs: [ build_plugin, build_plugin_docker ]
steps:
- name: Upload to Nightly
uses: surge-synthesizer/sst-githubactions/upload-to-release@main
with:
tag: Nightly
reuse_tag: true
create_tag: false
token: ${{ secrets.GITHUB_TOKEN }}
release_blurb_file: doc/NightlyBlurb.md
- name: Post to Discord
uses: surge-synthesizer/sst-githubactions/discord-release-notify@main
with:
webhook: ${{ secrets.DISCORD_SHORTCIRCUIT_WEBHOOK }}
tag: Nightly
title: "A New ShortCircuit Nightly is Available"
subtitle: "Still pre-alpha! Use care!"
publish-scxt-release:
name: Publish scxt Release
if: startsWith(github.ref, 'refs/tags/v') && github.repository_owner == 'surge-synthesizer'
runs-on: ubuntu-latest
needs: [ build_plugin, build_plugin_docker ]
steps:
- name: Upload to Release
uses: surge-synthesizer/sst-githubactions/upload-to-release@main
with:
tag: ${{ github.ref_name }}
reuse_tag: false
create_tag: true
token: ${{ secrets.GITHUB_TOKEN }}
- name: Post to Discord
uses: surge-synthesizer/sst-githubactions/discord-release-notify@main
with:
webhook: ${{ secrets.DISCORD_SHORTCIRCUIT_WEBHOOK }}
tag: ${{ github.ref_name }}
title: "A New ShortCircuit XT Release is Available"
subtitle: "Release ${{ github.ref_name }}"