Skip to content

Commit 070d861

Browse files
committed
add action build
1 parent 9f88337 commit 070d861

1 file changed

Lines changed: 137 additions & 0 deletions

File tree

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
name: Build BeatCrafter - Windows & Linux
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
permissions:
14+
contents: write
15+
actions: read
16+
pull-requests: write
17+
18+
jobs:
19+
build-windows:
20+
runs-on: windows-latest
21+
steps:
22+
- uses: actions/checkout@v4.2.2
23+
with:
24+
submodules: recursive
25+
26+
- name: Setup MSVC
27+
uses: microsoft/setup-msbuild@v2
28+
29+
- name: Configure CMake
30+
run: cmake -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DGITHUB_BUILD_NUMBER=${{ github.run_number }}
31+
32+
- name: Build
33+
run: cmake --build build --config Release
34+
35+
- name: Upload Windows VST3
36+
uses: actions/upload-artifact@v4.6.2
37+
with:
38+
name: BeatCrafter-Windows-VST3
39+
path: build/BeatCrafter_artefacts/Release/VST3/
40+
41+
build-linux:
42+
runs-on: ubuntu-latest
43+
steps:
44+
- uses: actions/checkout@v4.2.2
45+
with:
46+
submodules: recursive
47+
48+
- name: Install dependencies
49+
run: |
50+
sudo apt-get update
51+
sudo apt-get install -y cmake ninja-build \
52+
libasound2-dev libx11-dev libxext-dev libxrandr-dev libxcomposite-dev \
53+
libxinerama-dev libxcursor-dev libfreetype6-dev libfontconfig1-dev \
54+
libgtk-3-dev libwebkit2gtk-4.1-dev libcurl4-openssl-dev
55+
56+
- name: Configure CMake
57+
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DGITHUB_BUILD_NUMBER=${{ github.run_number }}
58+
59+
- name: Build
60+
run: cmake --build build --config Release
61+
62+
- name: Upload Linux VST3
63+
uses: actions/upload-artifact@v4.6.2
64+
with:
65+
name: BeatCrafter-Linux-VST3
66+
path: build/BeatCrafter_artefacts/Release/VST3/
67+
68+
create-release:
69+
needs: [build-windows, build-linux]
70+
runs-on: ubuntu-latest
71+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
72+
73+
steps:
74+
- uses: actions/checkout@v4.2.2
75+
76+
- name: Download all artifacts
77+
uses: actions/download-artifact@v4.3.0
78+
79+
- name: Create release assets
80+
run: |
81+
if [ -d "BeatCrafter-Windows-VST3" ]; then
82+
cd BeatCrafter-Windows-VST3
83+
zip -r ../BeatCrafter-Windows-VST3.zip .
84+
cd ..
85+
fi
86+
87+
if [ -d "BeatCrafter-Linux-VST3" ]; then
88+
cd BeatCrafter-Linux-VST3
89+
tar -czf ../BeatCrafter-Linux-VST3.tar.gz .
90+
cd ..
91+
fi
92+
93+
- name: Create Release
94+
uses: softprops/action-gh-release@v2
95+
with:
96+
tag_name: v${{ github.run_number }}
97+
name: "BeatCrafter v${{ github.run_number }}"
98+
body: |
99+
# 🥁 BeatCrafter v${{ github.run_number }}
100+
101+
Free live performance VST drum generator. No AI, no subscription, no nonsense.
102+
103+
## 📥 Installation
104+
105+
### 🪟 Windows
106+
1. Download `BeatCrafter-Windows-VST3.zip`
107+
2. Extract to `C:\Program Files\Common Files\VST3\`
108+
3. Rescan plugins in your DAW
109+
110+
### 🐧 Linux
111+
1. Download `BeatCrafter-Linux-VST3.tar.gz`
112+
2. Extract to `~/.vst3/`
113+
3. Rescan plugins in your DAW
114+
115+
### 🍎 macOS
116+
macOS build coming soon.
117+
118+
---
119+
120+
## 🎛️ How it works
121+
122+
- **8 style slots** — Rock, Metal, Jazz, Funk, Electronic, Hip Hop, Latin, Punk
123+
- **Intensity** — shapes groove density in real time, from skeleton to full arrangement
124+
- **Chaos** — injects ghost notes, fills and random hits that grow wilder as it climbs
125+
- **Full MIDI learn** — map everything to your foot controller or fader
126+
- **Works headless** — no GUI needed during performance
127+
128+
---
129+
130+
## 🔗 Resources
131+
- 💬 [Discussions](../../discussions)
132+
- 🐛 [Issues](../../issues)
133+
- ⭐ Star the repo if BeatCrafter is useful to you!
134+
135+
files: |
136+
BeatCrafter-Windows-VST3.zip
137+
BeatCrafter-Linux-VST3.tar.gz

0 commit comments

Comments
 (0)