#Calendar implementation for the HTWK Leipzig timetable. Evaluation and display of the individual dates in iCal format. #Copyright (C) 2024 HTWKalender support@htwkalender.de #This program is free software: you can redistribute it and/or modify #it under the terms of the GNU Affero General Public License as published by #the Free Software Foundation, either version 3 of the License, or #(at your option) any later version. #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU Affero General Public License for more details. #You should have received a copy of the GNU Affero General Public License #along with this program. If not, see . stages: - lint - sonarqube-check - test - build - package - deploy lint-frontend: image: node:lts stage: lint script: - cd frontend - npm i - npm run lint-no-fix rules: - changes: - frontend/**/* lint-data-manager: stage: lint image: golangci/golangci-lint:latest script: - cd services/data-manager - go mod download - golangci-lint --version - golangci-lint run -v --timeout=5m rules: - changes: - services/data-manager/**/* lint-ical: stage: lint image: golangci/golangci-lint:latest script: - cd services/ical - go mod download - golangci-lint --version - golangci-lint run -v --timeout=5m rules: - changes: - services/ical/**/* sonarqube-data-manager: stage: sonarqube-check tags: - fdit image: name: sonarsource/sonar-scanner-cli:11 entrypoint: - '' variables: SONAR_USER_HOME: '${CI_PROJECT_DIR}/.sonar' # Defines the location of the analysis task cache GIT_DEPTH: '0' # Tells git to fetch all the branches of the project, required by the analysis task cache: policy: pull-push key: 'sonar-cache-$CI_COMMIT_REF_SLUG' paths: - '${SONAR_USER_HOME}/cache' - sonar-scanner/ script: - sonar-scanner -Dsonar.host.url="${SONAR_HOST_URL}" allow_failure: true rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_REF_NAME == "develop"' test-data-manager: image: golang:alpine stage: test script: - cd services/data-manager - go test -v ./... rules: - changes: - services/data-manager/**/* test-ical: image: golang:alpine stage: test script: - cd services/ical - go test -v ./... rules: - changes: - services/ical/**/* test-frontend: image: node:lts stage: test script: - cd frontend - npm i - npm run test dependencies: - lint-frontend include: - local: 'charts/ci-build-deploy.yml' - template: Security/Dependency-Scanning.gitlab-ci.yml