-
Notifications
You must be signed in to change notification settings - Fork 1
66 lines (56 loc) · 1.89 KB
/
cookbooks_ci_job.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-16.04
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Set up Ruby 2.6
uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
- name: Setup ChefDK
run: |
cd /tmp
wget https://packages.chef.io/files/stable/chefdk/4.11.0/ubuntu/16.04/chefdk_4.11.0-1_amd64.deb
sudo apt install ./chefdk_4.11.0-1_amd64.deb
- name: Run Code Analysis using cookstyle
run: |
echo `pwd`
echo "\n"
chmod +x sca.sh
./sca.sh
- name: Build and Bundle Cookbooks and dependencies
run: |
echo `pwd`
echo "\n"
chmod +x berks-vendor.sh
echo `ls -l`
./berks-vendor.sh # Berks vendor cookbooks
- name: Run Chef Test
run: |
echo "Run Cookbook in Localmode"
sudo chef env --chef-license accept
sudo chef-client -z -o user_group
echo "Run Rspec Unit tests"
cd user_group
sudo chef exec rspec spec/
- name: Zip Artifacts
run: |
echo "Zip Artifacts"
sudo tar -cvzf cookbooks.tar.gz cookbooks
# - name: Upload Artifacts
# run: |
# echo "Upload Artifacts to Github"