forked from open-ephys/plugin-GUI
-
Notifications
You must be signed in to change notification settings - Fork 0
84 lines (77 loc) · 2.61 KB
/
linux.yml
File metadata and controls
84 lines (77 loc) · 2.61 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
name: Linux
on:
push:
paths:
- '.github/workflows/**'
- 'JuceLibraryCode/**'
- 'PluginGenerator/**'
- 'Plugins/**'
- 'Resources/**'
- 'Source/**'
- 'CMakeLists.txt'
- 'HelperFunctions.cmake'
pull_request:
paths:
- '.github/workflows/**'
- 'JuceLibraryCode/**'
- 'PluginGenerator/**'
- 'Plugins/**'
- 'Resources/**'
- 'Source/**'
- 'CMakeLists.txt'
- 'HelperFunctions.cmake'
jobs:
build-ubuntu:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: build
env:
CC: gcc-10
CXX: g++-10
run: |
sudo apt update
cd Resources/Scripts
sudo ./install_linux_dependencies.sh
cd ../../Build && cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
make -j4
- name: deploy
env:
ARTIFACTORY_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }}
run: |
gui_ver=v$(grep -w CMakeLists.txt -e 'GUI_VERSION' | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+(-([0-9A-Za-z\.-]+))?")
if [ ${{github.ref_name}} == 'development' ]; then
version_suffix=-dev
artifactory_repo=Dev
gui_ver=latest
elif [ ${{github.ref_name}} == 'testing' ]; then
version_suffix=-beta
artifactory_repo=Test
elif [ ${{github.ref_name}} == 'main' ]; then
artifactory_repo=Release
else
echo "This branch is not configured for deployment."
exit 0
fi
cd Build
cp -r Release open-ephys
cp ../LICENSE open-ephys
zipfile=open-ephys-${gui_ver}-linux${version_suffix}.zip
zip -r $zipfile open-ephys
user_info="X-JFrog-Art-Api:$ARTIFACTORY_ACCESS_TOKEN"
curl -H $user_info -T $zipfile "https://openephys.jfrog.io/artifactory/GUI-binaries/${artifactory_repo}/linux/$zipfile"
cd ../Resources/Installers/Linux/Open-Ephys_Installer
mkdir -p usr/local/bin/open-ephys-gui
cp -r ../../../../Build/Release/* usr/local/bin/open-ephys-gui
cp ../../../Icons/icon-large.png usr/local/bin/open-ephys-gui
cp ../../../Scripts/*.rules usr/local/bin/open-ephys-gui
mkdir -p usr/share/applications
cp open-ephys.desktop usr/share/applications
cd ..
dpkg-deb --build Open-Ephys_Installer
installer=open-ephys-gui-${gui_ver}${version_suffix}.deb
mv -v Open-Ephys_Installer.deb $installer
curl -H $user_info -T $installer "https://openephys.jfrog.io/artifactory/GUI-binaries/${artifactory_repo}-Installer/linux/$installer"
shell: bash