Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / .github / workflows / ci.yml @ 5fea281f

Historique | Voir | Annoter | Télécharger (2,48 ko)

1
---
2
# Managed by modulesync - DO NOT EDIT
3
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
4

    
5
name: CI
6

    
7
on: pull_request
8

    
9
concurrency:
10
  group: ${{ github.head_ref }}
11
  cancel-in-progress: true
12

    
13
jobs:
14
  setup_matrix:
15
    name: 'Setup Test Matrix'
16
    runs-on: ubuntu-latest
17
    timeout-minutes: 40
18
    outputs:
19
      puppet_unit_test_matrix: ${{ steps.get-outputs.outputs.puppet_unit_test_matrix }}
20
      github_action_test_matrix: ${{ steps.get-outputs.outputs.github_action_test_matrix }}
21
    env:
22
      BUNDLE_WITHOUT: development:system_tests:release
23
    steps:
24
      - uses: actions/checkout@v2
25
      - name: Setup ruby
26
        uses: ruby/setup-ruby@v1
27
        with:
28
          ruby-version: '3.0'
29
          bundler-cache: true
30
      - name: Run static validations
31
        run: bundle exec rake validate lint check
32
      - name: Run rake rubocop
33
        run: bundle exec rake rubocop
34
      - name: Setup Test Matrix
35
        id: get-outputs
36
        run: bundle exec metadata2gha --use-fqdn --pidfile-workaround false
37

    
38
  unit:
39
    needs: setup_matrix
40
    runs-on: ubuntu-latest
41
    timeout-minutes: 40
42
    strategy:
43
      fail-fast: false
44
      matrix:
45
        include: ${{fromJson(needs.setup_matrix.outputs.puppet_unit_test_matrix)}}
46
    env:
47
      BUNDLE_WITHOUT: development:system_tests:release
48
      PUPPET_VERSION: "~> ${{ matrix.puppet }}.0"
49
    name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }})
50
    steps:
51
      - uses: actions/checkout@v2
52
      - name: Setup ruby
53
        uses: ruby/setup-ruby@v1
54
        with:
55
          ruby-version: ${{ matrix.ruby }}
56
          bundler-cache: true
57
      - name: Run tests
58
        run: bundle exec rake parallel_spec
59

    
60
  acceptance:
61
    needs: setup_matrix
62
    runs-on: ubuntu-latest
63
    env:
64
      BUNDLE_WITHOUT: development:test:release
65
    strategy:
66
      fail-fast: false
67
      matrix:
68
        include: ${{fromJson(needs.setup_matrix.outputs.github_action_test_matrix)}}
69
    name: ${{ matrix.puppet.name }} - ${{ matrix.setfile.name }}
70
    steps:
71
      - uses: actions/checkout@v2
72
      - name: Setup ruby
73
        uses: ruby/setup-ruby@v1
74
        with:
75
          ruby-version: '3.0'
76
          bundler-cache: true
77
      - name: Run tests
78
        run: bundle exec rake beaker
79
        env:
80
          BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet.collection }}
81
          BEAKER_setfile: ${{ matrix.setfile.value }}
82

    
83
  tests:
84
    needs:
85
      - unit
86
      - acceptance
87
    runs-on: ubuntu-latest
88
    name: Test suite
89
    steps:
90
      - run: echo Test suite completed