From 988597be1aa2ac9974c5e2d966440fa12829ed6d Mon Sep 17 00:00:00 2001
From: Alberto Nidasio <alberto.nidasio@skywarder.eu>
Date: Wed, 16 Nov 2022 16:53:54 +0100
Subject: [PATCH] Now the pipeline should create a new release at every commit
 on the main branch

---
 .gitlab-ci.yml                    |  25 ++++++++++++++++++++++++-
 .vscode/c_cpp_properties.json     |   2 +-
 .vscode/settings.json             |   4 +++-
 linuxdeploy/SkywardLogo.png       | Bin 0 -> 19637 bytes
 linuxdeploy/groundstation.desktop |   8 ++++++++
 5 files changed, 36 insertions(+), 3 deletions(-)
 create mode 100644 linuxdeploy/SkywardLogo.png
 create mode 100644 linuxdeploy/groundstation.desktop

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 41445bf3..6a59a0cf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,6 +25,7 @@ variables:
 stages:
   - build
   - lint
+  - release
 
 # Stage build
 
@@ -56,4 +57,26 @@ find:
   tags:
     - miosix
   script:
-    - ./scripts/linter.py --find src
\ No newline at end of file
+    - ./scripts/linter.py --find src
+
+# Stage release
+
+release:
+  stage: release
+  only:
+    - main
+  tags:
+    - qt
+  script:
+    - ./sbs
+    - cp build/groundstation linuxdeploy/
+    - cd linuxdeploy
+    - /opt/5.15.2/gcc_64/bin/linuxdeployqt groundstation -qmake=/opt/5.15.2/gcc_64/bin/qmake -appimage
+  artifacts:
+    name: Linux AppImage
+    paths:
+      - linuxdeploy/Ground_Station-${CI_COMMIT_SHORT_SHA::-1}-x86_64.AppImage
+  release:
+    tag_name: latest-$CI_COMMIT_SHORT_SHA
+    name: Continuous build
+    description: Latest build
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index 5180384a..ba6a4c32 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -5,7 +5,7 @@
             "includePath": [
                 "${workspaceFolder}/src/shared",
                 "${workspaceFolder}/libs/mavlink-skyward-lib",
-                "~/Qt/5.15.2/**"
+                "/opt/5.15.2/gcc_64/include"
             ],
             "defines": [],
             "cStandard": "gnu17",
diff --git a/.vscode/settings.json b/.vscode/settings.json
index a68dd339..ab0ffa7b 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -164,7 +164,9 @@
         "qtnetworkauth": "cpp",
         "qtscript": "cpp",
         "qtsvg": "cpp",
-        "qtvirtualkeyboard": "cpp"
+        "qtvirtualkeyboard": "cpp",
+        "qabstractbutton": "cpp",
+        "qmetatype": "cpp"
     },
     "editor.defaultFormatter": "ms-vscode.cpptools",
     "[xml]": {
diff --git a/linuxdeploy/SkywardLogo.png b/linuxdeploy/SkywardLogo.png
new file mode 100644
index 0000000000000000000000000000000000000000..b25c015573f3ab47a4a63c20277e24dfb58b7fa7
GIT binary patch
literal 19637
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
aPrZ+;s8jgU`b!K93=E#GelF{r5}E*w1+!cL

literal 0
HcmV?d00001

diff --git a/linuxdeploy/groundstation.desktop b/linuxdeploy/groundstation.desktop
new file mode 100644
index 00000000..0d7a6dc3
--- /dev/null
+++ b/linuxdeploy/groundstation.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Ground Station
+Exec=groundstation
+Icon=SkywardLogo
+Categories=Utility;
+Terminal=false
+X-AppImage-Version=d16258c
-- 
GitLab