Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • dev-smart-pointer-refactor-2
  • topics
  • outgoingmessagesviewer
  • qt6
  • dev-smart-pointer-refactor
  • gse-interface-dev
  • crash-report-dev
  • riccardo-dev
  • roccaraso2024
  • euroc2024
  • euroc2023
  • roccaraso2023
  • euroc-2021
14 results

.gitlab-ci.yml

Blame
  • .gitlab-ci.yml 3.35 KiB
    # Copyright (c) 2022 Skyward Experimental Rocketry
    # Authors: Alberto Nidasio
    #
    # Permission is hereby granted, free of charge, to any person obtaining a copy
    # of this software and associated documentation files (the "Software"), to deal
    # in the Software without restriction, including without limitation the rights
    # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    # copies of the Software, and to permit persons to whom the Software is
    # furnished to do so, subject to the following conditions:
    #
    # The above copyright notice and this permission notice shall be included in
    # all copies or substantial portions of the Software.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    # THE SOFTWARE.
    
    variables:
      GIT_SUBMODULE_STRATEGY: recursive
      QT_VERSION: 5.15.2
    
    stages:
      - lint
      - build
      - release
    
    default:
      image: registry.skywarder.eu/avn/swd/docker/miosix:latest
    
    # Stage lint
    
    cppcheck:
      stage: lint
      script:
        - cppcheck --version
        - ./scripts/linter.py --cppcheck src
    
    format:
      stage: lint
      script:
        - clang-tidy --version
        - clang-format --version
        - ./scripts/linter.py --format src
    
    find:
      stage: lint
      script:
        - /usr/bin/python3 --version
        - ./scripts/linter.py --find src
    
    # Stage build
    
    build_linux:
      stage: build
      image: registry.skywarder.eu/avn/swd/docker/qt/linux
      before_script:
        - QMAKE=/opt/qt/$QT_VERSION/gcc_64/bin/qmake
      script:
        - cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=RelWithDebInfo .
        - cmake --build build -j 16
        - cd build
        - linuxdeploy --plugin qt -e skywardhub -d ../deployment/linuxdeploy/skywardhub.desktop -i ../deployment/linuxdeploy/SkywardLogo.png --appdir AppDir
        - appimagetool AppDir
        - mv SkywardHub-x86_64.AppImage ../SkywardHub-$CI_COMMIT_SHORT_SHA-x86_64.AppImage
      artifacts:
        name: Linux AppImage