Files
RediStack/.gitlab/ci/main.yml
Nathan Harris b5c0bc8e05 Bump minimum supported Swift version to 5.5
## Motivation

RediStack 1.x is going to be supported at least until 2.x is released, which is a few months away.

Developers who are on later versions of Swift will adopt later versions of NIO and other libraries, and after we merged !183 we required NIO 2.42.x which has a minimum Swift version of 5.5

## Changes

This back ports the CI config from `master` into this branch, with updates to the README to reflect the changes
2022-11-30 21:35:43 -06:00

85 lines
1.8 KiB
YAML

include: '/.gitlab/ci/platform-test.yml'
stages:
- Platform Tests
- Quality Checks
Code Climate:
only:
- branches
- tags
except:
- schedules
stage: Quality Checks
image: docker:stable
services:
- docker:stable-dind
variables:
DOCKER_DRIVER: overlay2
CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/security-products/codequality:latest"
script:
- docker pull --quiet "$CODE_QUALITY_IMAGE"
- docker run
--env SOURCE_CODE="$PWD"
--volume "$PWD":/code
--volume /var/run/docker.sock:/var/run/docker.sock
"$CODE_QUALITY_IMAGE" /code
artifacts:
expire_in: 1 week
reports:
codequality: gl-code-quality-report.json
Code Coverage:
extends: .platform-test
stage: Quality Checks
allow_failure: false
image: swift:latest
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- '*.swift'
script: scripts/generate_code_coverage.sh
coverage: '/TOTAL.*(\s\d+\.\d+%)/'
.standard-platform-test:
rules:
- if: $CI_PIPELINE_SOURCE == "push"
stage: Platform Tests
trigger:
strategy: depend
include: '/.gitlab/ci/standard-platforms.yml'
Ubuntu Xenial:
extends: .standard-platform-test
variables:
SWIFT_PLATFORM_NAME: xenial
trigger:
include: '/.gitlab/ci/eol-platforms-5.5.yml'
Ubuntu Bionic:
extends: .standard-platform-test
variables:
SWIFT_PLATFORM_NAME: bionic
Ubuntu Focal:
extends: .standard-platform-test
variables:
SWIFT_PLATFORM_NAME: focal
CentOS 7:
extends: .standard-platform-test
trigger:
include: '/.gitlab/ci/centos-7.yml'
CentOS 8:
extends: .standard-platform-test
variables:
SWIFT_PLATFORM_NAME: centos8
trigger:
include: '/.gitlab/ci/eol-platforms-5.5.yml'
Amazon Linux 2:
extends: .standard-platform-test
variables:
SWIFT_PLATFORM_NAME: amazonlinux2