-
Notifications
You must be signed in to change notification settings - Fork 7
142 lines (126 loc) · 4.29 KB
/
Copy pathbuild.yml
File metadata and controls
142 lines (126 loc) · 4.29 KB
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
name: "Build"
on:
workflow_dispatch:
push:
concurrency:
group: "build"
cancel-in-progress: true
jobs:
build-win32:
name: "Build for Windows 32-bit"
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Disable initramfs update
run: sudo sed -i 's/yes/no/g' /etc/initramfs-tools/update-initramfs.conf
- name: Disable man-db update
run: sudo rm -f /var/lib/man-db/auto-update
- name: Install packages
run: sudo apt-get update && sudo apt-get install mingw-w64
- name: Get premake5
run: wget https://github.com/premake/premake-core/releases/download/v5.0.0-beta7/premake-5.0.0-beta7-linux.tar.gz && tar xvf premake-*.tar.gz
- name: Build
run: ./premake5 gmake --build-speak=yes && make config=release_win32 -j3
- name: Organize artifacts
run: |
mkdir -p speak-win32
cp bin/*/*/speak.exe speak-win32/
cp bin/*/*/dtc.dll speak-win32/
cp bin/*/*/dtc.lib speak-win32/
cp -r dic speak-win32/
cp -r DECtalk.conf speak-win32/
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-win32
path: speak-win32/
build-win64:
name: "Build for Windows 64-bit"
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Disable initramfs update
run: sudo sed -i 's/yes/no/g' /etc/initramfs-tools/update-initramfs.conf
- name: Disable man-db update
run: sudo rm -f /var/lib/man-db/auto-update
- name: Install packages
run: sudo apt-get update && sudo apt-get install mingw-w64
- name: Get premake5
run: wget https://github.com/premake/premake-core/releases/download/v5.0.0-beta7/premake-5.0.0-beta7-linux.tar.gz && tar xvf premake-*.tar.gz
- name: Build
run: ./premake5 gmake --build-speak=yes && make config=release_win64 -j3
- name: Organize artifacts
run: |
mkdir -p speak-win64
cp bin/*/*/speak.exe speak-win64/
cp bin/*/*/dtc.dll speak-win64/
cp bin/*/*/dtc.lib speak-win64/
cp -r dic speak-win64/
cp -r DECtalk.conf speak-win64/
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-win64
path: speak-win64/
build-appimage:
name: "Build for AppImage"
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Disable initramfs update
run: sudo sed -i 's/yes/no/g' /etc/initramfs-tools/update-initramfs.conf
- name: Disable man-db update
run: sudo rm -f /var/lib/man-db/auto-update
- name: Install packages
run: sudo apt-get update && sudo apt-get install libxpm-dev libmotif-dev libxt-dev
- name: Get premake5
run: wget https://github.com/premake/premake-core/releases/download/v5.0.0-beta7/premake-5.0.0-beta7-linux.tar.gz && tar xvf premake-*.tar.gz
- name: Build
run: ./premake5 gmake --build-speak=yes && make config=release_native -j3 && ./create_appimage.sh
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-appimage
path: Speak-x86_64.AppImage
release:
name: "Release"
runs-on: ubuntu-latest
permissions:
contents: write
needs: [build-win32, build-win64, build-appimage]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download from build-win32
uses: actions/download-artifact@v4
with:
name: build-win32
path: speak-win32
- name: Download from build-win64
uses: actions/download-artifact@v4
with:
name: build-win64
path: speak-win64
- name: Download from build-appimage
uses: actions/download-artifact@v4
with:
name: build-appimage
- name: Delete old release
run: gh release delete "latest" --cleanup-tag -y || true
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: compress artifacts
run: zip -rv speak-windows.zip speak-win32 speak-win64
- name: Release
run: gh release create -t "latest-dectalk-develop" "latest" *.zip *.AppImage -n "Latest release"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}