root / .github / workflows / ci.yml @ bd5145ab
Historique | Voir | Annoter | Télécharger (2,32 ko)
1 | 78f22811 | Steve Traylen | name: CI |
---|---|---|---|
2 | |||
3 | on: pull_request |
||
4 | |||
5 | jobs:
|
||
6 | setup_matrix:
|
||
7 | name: 'Setup Test Matrix' |
||
8 | runs-on: ubuntu-latest |
||
9 | outputs:
|
||
10 | beaker_setfiles: ${{ steps.get-outputs.outputs.beaker_setfiles }} |
||
11 | puppet_major_versions: ${{ steps.get-outputs.outputs.puppet_major_versions }} |
||
12 | puppet_unit_test_matrix: ${{ steps.get-outputs.outputs.puppet_unit_test_matrix }} |
||
13 | env:
|
||
14 | BUNDLE_WITHOUT: development:test:release |
||
15 | steps:
|
||
16 | - uses: actions/checkout@v2
|
||
17 | - name: Setup ruby
|
||
18 | uses: ruby/setup-ruby@v1 |
||
19 | with:
|
||
20 | ruby-version: '2.7' |
||
21 | bundler-cache: true |
||
22 | - name: Run rake validate
|
||
23 | run: bundle exec rake validate |
||
24 | - name: Setup Test Matrix
|
||
25 | id: get-outputs |
||
26 | run: bundle exec metadata2gha --use-fqdn --pidfile-workaround false |
||
27 | |||
28 | unit:
|
||
29 | needs: setup_matrix |
||
30 | runs-on: ubuntu-latest |
||
31 | strategy:
|
||
32 | fail-fast: false |
||
33 | matrix:
|
||
34 | include: ${{fromJson(needs.setup_matrix.outputs.puppet_unit_test_matrix)}} |
||
35 | env:
|
||
36 | BUNDLE_WITHOUT: development:system_tests:release |
||
37 | PUPPET_VERSION: "~> ${{ matrix.puppet }}.0" |
||
38 | name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }}) |
||
39 | steps:
|
||
40 | - uses: actions/checkout@v2
|
||
41 | - name: Setup ruby
|
||
42 | uses: ruby/setup-ruby@v1 |
||
43 | with:
|
||
44 | ruby-version: ${{ matrix.ruby }} |
||
45 | bundler-cache: true |
||
46 | - name: Run tests
|
||
47 | run: bundle exec rake |
||
48 | bd5145ab | Steve Traylen | |
49 | acceptance:
|
||
50 | needs: setup_matrix |
||
51 | runs-on: ubuntu-latest |
||
52 | env:
|
||
53 | BUNDLE_WITHOUT: development:test:release |
||
54 | strategy:
|
||
55 | fail-fast: false |
||
56 | matrix:
|
||
57 | setfile: ${{fromJson(needs.setup_matrix.outputs.beaker_setfiles)}} |
||
58 | puppet: ${{fromJson(needs.setup_matrix.outputs.puppet_major_versions)}} |
||
59 | name: ${{ matrix.puppet.name }} - ${{ matrix.setfile.name }} |
||
60 | steps:
|
||
61 | - name: Enable IPv6 on docker
|
||
62 | run: | |
||
63 | echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json
|
||
64 | sudo service docker restart
|
||
65 | - uses: actions/checkout@v2
|
||
66 | - name: Setup ruby
|
||
67 | uses: ruby/setup-ruby@v1 |
||
68 | with:
|
||
69 | ruby-version: '2.7' |
||
70 | bundler-cache: true |
||
71 | - name: Run tests
|
||
72 | run: bundle exec rake beaker |
||
73 | env:
|
||
74 | BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet.collection }} |
||
75 | BEAKER_setfile: ${{ matrix.setfile.value }} |