.travis.yml:
  delete: true

appveyor.yml:
  delete: true

.gitignore:
  paths:
    - '.vscode/'
    - '.devcontainer/'

.gitlab-ci.yml:
  override: true
  custom:
    cache:
      paths:
        - vendor/bundle
    bundler_args: '--without system_tests --path vendor/bundle --jobs $(nproc)'
    custom_stages:
      - syntax
      - unit
      - acceptance
      - release
    custom_jobs:
      syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop-Ruby 2.7.5-Puppet ~> 7.14:
        stage: syntax
        image: ruby:2.7.5
        script:
          - bundle exec rake syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
        variables:
          PUPPET_GEM_VERSION: '~> 7.14'
      parallel_spec-Ruby 2.7.5-Puppet ~> 6.26:
        stage: unit
        image: ruby:2.7.5
        script:
          - bundle exec rake parallel_spec
        variables:
          PUPPET_GEM_VERSION: '~> 6.26'
      parallel_spec-Ruby 2.7.5-Puppet ~> 7.14:
        stage: unit
        image: ruby:2.7.5
        script:
          - bundle exec rake parallel_spec
        variables:
          PUPPET_GEM_VERSION: '~> 7.14'
      acceptance with puppet7 Ubuntu20.04:
        stage: acceptance
        variables:
          RBENV_VERSION: '2.7.5'
          PUPPET_INSTALL_TYPE: 'agent'
          BEAKER_IS_PE: 'no'
          BEAKER_PUPPET_COLLECTION: 'puppet7'
          BEAKER_debug: 'true'
          BEAKER_setfile: 'ubuntu2004-64'
          BEAKER_HYPERVISOR: 'docker'
        script:
          - bundle exec rake beaker
        tags:
          - puppet-tests
      acceptance with puppet7 Ubuntu18.04:
        stage: acceptance
        variables:
          RBENV_VERSION: '2.7.5'
          PUPPET_INSTALL_TYPE: 'agent'
          BEAKER_IS_PE: 'no'
          BEAKER_PUPPET_COLLECTION: 'puppet7'
          BEAKER_debug: 'true'
          BEAKER_setfile: 'ubuntu1804-64'
          BEAKER_HYPERVISOR: 'docker'
        script:
          - bundle exec rake beaker
        tags:
          - puppet-tests
      acceptance with puppet7 Debian10:
        stage: acceptance
        variables:
          RBENV_VERSION: '2.7.5'
          PUPPET_INSTALL_TYPE: 'agent'
          BEAKER_IS_PE: 'no'
          BEAKER_PUPPET_COLLECTION: 'puppet7'
          BEAKER_debug: 'true'
          BEAKER_setfile: 'debian10-64'
          BEAKER_HYPERVISOR: 'docker'
        script:
          - bundle exec rake beaker
        tags:
          - puppet-tests
      module release:
        stage: release
        image: ruby:2.7.5
        variables:
          PUPPET_GEM_VERSION: '~> 7.14'
          BLACKSMITH_FORGE_USERNAME: '$BLACKSMITH_FORGE_USERNAME'
          BLACKSMITH_FORGE_API_KEY: '$BLACKSMITH_FORGE_API_KEY'
        script:
          - bundle exec puppet strings generate --format markdown --out REFERENCE.md
          - bundle exec rake module:push
        only:
          - tags
        except:
          - branches
        artifacts:
          paths:
            - pkg/
          expire_in: 6 weeks

Gemfile:
  required:
    ':development':
      - gem: 'beaker-rspec'
      - gem: 'beaker-puppet'
      - gem: 'beaker-docker'
      - gem: 'beaker-puppet_install_helper'
      - gem: 'beaker-module_install_helper'
      - gem: 'pdk'
        version: '2.3.0'
      - gem: 'puppet-strings'
        version: '2.9.0'

spec/spec_helper.rb:
  mock_with: ':rspec'
