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
|