# You can override the included template(s) by including variable overrides # See https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings # Note that environment variables can be set in several places # See https://docs.gitlab.com/ee/ci/variables/#priority-of-environment-variables image: registry.gitlab.com/remmina/remmina/ubuntu:22.04 stages: - test - build - triage variables: GIT_SUBMODULE_STRATEGY: recursive BUILD_FOLDER: build DEB_PPA: ppa:remmina-ppa-team/remmina-next FREERDP_DAILY_PPA: ppa:remmina-ppa-team/remmina-next-daily DOCKER_IMAGE: ubuntu:latest CMAKE_BUILD_OPTIONS: "-DCMAKE_BUILD_TYPE=Release -DWITH_APPINDICATOR=on -DWITH_FREERDP3=OFF" FLATPAK_ARCH: x86_64 cache: &global_cache key: ${CI_JOB_NAME} policy: pull-push before_script: - mkdir -p .flatpak-builder/cache ubuntu:devel: stage: test before_script: - apt-get update -qq - apt-get install -y -qq libpcre2-8-0 libpcre2-dev python3 python3-dev script: - mkdir $BUILD_FOLDER - cmake -B$BUILD_FOLDER -H. $CMAKE_BUILD_OPTIONS - make VERBOSE=1 -C $BUILD_FOLDER only: refs: - master - tags - merge_requests - web except: refs: - schedules flatpak:test: image: registry.gitlab.com/remmina/remmina/ubuntu:22.04 stage: test variables: BUNDLE: remmina-dev.flatpak FLATPAK_PPA: ppa:alexlarsson/flatpak FLATHUB_REPO: https://dl.flathub.org/repo/flathub.flatpakrepo before_script: - apt-get update -qq - apt-get install -y -qq flatpak-builder flatpak build-essential git-core - flatpak --user remote-add --if-not-exists flathub $FLATHUB_REPO - git config --global protocol.file.allow always script: - "/bin/sh -xe ./flatpak/flatpak-build.sh" artifacts: expose_as: Download the flatpak paths: - flatpak/remmina-dev.flatpak expire_in: 7 days cache: <<: *global_cache paths: - flatpak/.flatpak-builder/cache/ - flatpak/.flatpak-builder/ccache/ - flatpak/.flatpak-builder/downloads/ - flatpak/.flatpak-builder/git/ only: refs: - merge_requests - tags - web except: refs: - schedules snap:build: image: registry.gitlab.com/remmina/remmina/snap:22.04 stage: build script: - apt-get install -y git - mkdir -p ~/.local/share/snapcraft/provider/launchpad - echo -en "[1]\n" > ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en "consumer_key = System-wide" >> ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en ":" >> ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en " Ubuntu (ubuntu)\n" >> ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en "consumer_secret = \n" >> ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en "access_token = " >> ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en $LAUNCHPAD_CREDENTIALS_ACCESS_TOKEN >> ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en "\naccess_secret = " >> ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en $LAUNCHPAD_CREDENTIALS_ACCESS_SECRET >> ~/.local/share/snapcraft/provider/launchpad/credentials - echo -en "\n" >> ~/.local/share/snapcraft/provider/launchpad/credentials - snapcraft remote-build --launchpad-accept-public-upload - | if ls remmina_*_amd64.snap 1> /dev/null 2>&1; then echo "amd64 snap file found" else echo "amd64 snap file not found" cat remmina_amd64.txt exit 1 fi - | if ls remmina_*_arm64.snap 1> /dev/null 2>&1; then echo "arm64 snap file found" else echo "arm64 snap file not found" cat remmina_arm64.txt exit 1 fi - | if ls remmina_*_armhf.snap 1> /dev/null 2>&1; then echo "armhf snap file found" else echo "armhf snap file not found" cat remmina_armhf.txt exit 1 fi - | if [ "$CI_COMMIT_REF_NAME" = "master" ]; then echo $SNAPCRAFT_LOGIN | base64 --decode --ignore-garbage > snapcraft.login snapcraft login --with snapcraft.login snapcraft upload remmina*_amd64.snap --release edge snapcraft upload remmina*_arm64.snap --release edge snapcraft upload remmina*_armhf.snap --release edge snapcraft logout fi timeout: 8h 0m allow_failure: false artifacts: paths: - "./*.snap" - "./remmina_*.txt" expire_in: 10 days only: refs: - tags - merge_requests - web except: refs: - schedules trigger_build: stage: build before_script: - apt-get update -qq - apt-get install -y -qq curl script: - curl -X POST -F token=$CITOKEN -F ref=master https://gitlab.com/api/v4/projects/10530342/trigger/pipeline except: - schedules trigger_ppa: stage: build before_script: - apt-get update -qq - apt-get install -y -qq curl script: - curl -X POST -F token=$PPACITOKEN -F ref=master https://gitlab.com/api/v4/projects/6725270/trigger/pipeline only: - tags - web except: - schedules #dry-run:triage: # image: ruby:2.7 # stage: triage # script: # - gem install gitlab-triage # - gitlab-triage --help # - gitlab-triage --dry-run --token $RM_TRIAGE_TOKEN --host-url $CI_SERVER_URL --source projects --source-id $CI_PROJECT_PATH # when: manual # except: # - schedules run:triage: image: ruby:2.7 stage: triage script: - gem install gitlab-triage -v 1.41.0 - gitlab-triage --token $RM_TRIAGE_TOKEN --host-url $CI_SERVER_URL --source projects --source-id $CI_PROJECT_PATH only: - schedules