11
11
DOMAIN_NAME : " pr-${{ github.run_id }}-caddy"
12
12
DOMAIN_SUFFIX : " test.stackhead.io"
13
13
14
+ # You should not need to change anything below.
15
+
14
16
jobs :
15
17
smoke :
16
18
name : Smoketest test-tf-generation
17
19
runs-on : ubuntu-latest
18
20
steps :
19
21
- uses : actions/checkout@v2
20
- - name : Install Ansible v2.10 alpha (GH actions currently uses 2.9)
21
- run : ANSIBLE_SKIP_CONFLICT_CHECK=1 pip install --user ansible==2.10.0a9 && ansible --version
22
+ - name : Remove Python 2 and old Ansible 2.9 version
23
+ run : sudo apt purge python ansible -y
24
+ - name : Set up Python 3
25
+ uses : actions/setup-python@v2
26
+ with :
27
+ python-version : ' 3.x'
28
+ - name : Install Ansible v2.10.3 (GH actions currently uses 2.9)
29
+ run : pip install ansible==2.10.3
30
+ - name : Print Ansible and Python version
31
+ run : ansible --version && python --version
22
32
- name : Get latest StackHead version
23
33
run : ansible-galaxy collection install git+https://github.com/getstackhead/stackhead.git,next -f
24
- - run : pip install -r ./requirements/pip.txt
25
34
- run : ansible-playbook ./__tests__/test-tf-generation.yml
26
35
27
36
checkLabel :
@@ -36,80 +45,79 @@ jobs:
36
45
needs : checkLabel
37
46
runs-on : ubuntu-latest
38
47
if : github.event.pull_request.draft == false
39
- env :
40
- INVENTORY_PATH : __tests__/inventory.yml
41
48
steps :
42
- - uses : actions/checkout@v2
43
- - name : Set up Python 3
44
- uses : actions/setup-python@v2
45
- with :
46
- python-version : ' 3.x'
47
- - name : Uninstall old Ansible
48
- run : ansible --version && sudo apt purge ansible -y
49
- - name : Install Ansible v2.10.3 (GH actions currently uses 2.9)
50
- run : sudo python -m pip install ansible==2.10.3 && ansible --version
51
- - run : pip -V && pip install -r ./requirements/pip.txt
52
- -
uses :
webfactory/[email protected]
53
- with :
54
- ssh-private-key : " ${{ secrets.SSH_PRIVATE_KEY }}"
55
- - name : Setup Hetzner server
56
- id : setup_server
57
-
58
- with :
59
- action : create
60
- server_name : " ${{ env.DOMAIN_NAME }}"
61
- server_image : ubuntu-18.04
62
- server_location : fsn1
63
- server_ssh_key_name : gh-actions
64
- wait_for_ssh : 1
65
- env :
66
- API_TOKEN : ${{ secrets.HETZNER_TOKEN }}
67
- - name : Add DNS record
68
- uses : saitho/create-dns-record@patch-1
69
- with :
70
- type : " A"
71
- name : " ${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}"
72
- content : " ${{ steps.setup_server.outputs.hcloud_server_created_ipv4 }}"
73
- ttl : 1
74
- proxied : 0
75
- token : " ${{ secrets.CLOUDFLARE_TOKEN }}"
76
- zone : " ${{ secrets.CLOUDFLARE_ZONE }}"
77
- - name : Add DNS record for subdomain
78
- uses : saitho/create-dns-record@patch-1
79
- with :
80
- type : " A"
81
- name : " sub.${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}"
82
- content : " ${{ steps.setup_server.outputs.hcloud_server_created_ipv4 }}"
83
- ttl : 1
84
- proxied : 0
85
- token : " ${{ secrets.CLOUDFLARE_TOKEN }}"
86
- zone : " ${{ secrets.CLOUDFLARE_ZONE }}"
87
- - uses : getstackhead/stackhead/actions/integration-test@next
88
- with :
89
- ipaddress : ${{ steps.setup_server.outputs.hcloud_server_created_ipv4 }}
90
- domain : ' ${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}'
91
- domain2 : ' sub.${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}'
92
- webserver : ' ${{ env.WEBSERVER }}'
93
- rolename : ' ${{ env.ROLE_NAME }}'
94
- - name : Remove DNS record
95
- uses : saitho/delete-dns-record@saitho-patch-1
96
- if : always()
97
- with :
98
- name : " ${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}"
99
- token : " ${{ secrets.CLOUDFLARE_TOKEN }}"
100
- zone : " ${{ secrets.CLOUDFLARE_ZONE }}"
101
- - name : Remove DNS record for subdomain
102
- uses : saitho/delete-dns-record@saitho-patch-1
103
- if : always()
104
- with :
105
- name : " sub.${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}"
106
- token : " ${{ secrets.CLOUDFLARE_TOKEN }}"
107
- zone : " ${{ secrets.CLOUDFLARE_ZONE }}"
108
- - name : Remove Hetzner server
109
-
110
- if : always()
111
- with :
112
- action : remove
113
- server_id : " ${{ steps.setup_server.outputs.hcloud_server_id }}"
114
- env :
115
- API_TOKEN : ${{ secrets.HETZNER_TOKEN }}
49
+ - uses : actions/checkout@v2
50
+ - name : Remove Python 2 and old Ansible 2.9 version
51
+ run : sudo apt purge python ansible -y
52
+ - name : Set up Python 3
53
+ uses : actions/setup-python@v2
54
+ with :
55
+ python-version : ' 3.x'
56
+ - name : Install Ansible v2.10.3 (GH actions currently uses 2.9)
57
+ run : pip install ansible==2.10.3
58
+ - name : Print Ansible and Python version
59
+ run : ansible --version && python --version
60
+ -
uses :
webfactory/[email protected]
61
+ with :
62
+ ssh-private-key : " ${{ secrets.SSH_PRIVATE_KEY }}"
63
+ - name : Setup Hetzner server
64
+ id : setup_server
65
+
66
+ with :
67
+ action : create
68
+ server_name : " ${{ env.DOMAIN_NAME }}"
69
+ server_image : ubuntu-18.04
70
+ server_location : fsn1
71
+ server_ssh_key_name : gh-actions
72
+ wait_for_ssh : 1
73
+ env :
74
+ API_TOKEN : ${{ secrets.HETZNER_TOKEN }}
75
+ - name : Add DNS record
76
+ uses : saitho/create-dns-record@patch-1
77
+ with :
78
+ type : " A"
79
+ name : " ${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}"
80
+ content : " ${{ steps.setup_server.outputs.hcloud_server_created_ipv4 }}"
81
+ ttl : 1
82
+ proxied : 0
83
+ token : " ${{ secrets.CLOUDFLARE_TOKEN }}"
84
+ zone : " ${{ secrets.CLOUDFLARE_ZONE }}"
85
+ - name : Add DNS record for subdomain
86
+ uses : saitho/create-dns-record@patch-1
87
+ with :
88
+ type : " A"
89
+ name : " sub.${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}"
90
+ content : " ${{ steps.setup_server.outputs.hcloud_server_created_ipv4 }}"
91
+ ttl : 1
92
+ proxied : 0
93
+ token : " ${{ secrets.CLOUDFLARE_TOKEN }}"
94
+ zone : " ${{ secrets.CLOUDFLARE_ZONE }}"
95
+ - uses : getstackhead/stackhead/actions/integration-test@next
96
+ with :
97
+ ipaddress : ${{ steps.setup_server.outputs.hcloud_server_created_ipv4 }}
98
+ domain : ' ${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}'
99
+ domain2 : ' sub.${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}'
100
+ webserver : ' ${{ env.WEBSERVER }}'
101
+ rolename : ' ${{ env.ROLE_NAME }}'
102
+ - name : Remove DNS record
103
+ uses : saitho/delete-dns-record@saitho-patch-1
104
+ if : always()
105
+ with :
106
+ name : " ${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}"
107
+ token : " ${{ secrets.CLOUDFLARE_TOKEN }}"
108
+ zone : " ${{ secrets.CLOUDFLARE_ZONE }}"
109
+ - name : Remove DNS record for subdomain
110
+ uses : saitho/delete-dns-record@saitho-patch-1
111
+ if : always()
112
+ with :
113
+ name : " sub.${{ env.DOMAIN_NAME }}.${{ env.DOMAIN_SUFFIX }}"
114
+ token : " ${{ secrets.CLOUDFLARE_TOKEN }}"
115
+ zone : " ${{ secrets.CLOUDFLARE_ZONE }}"
116
+ - name : Remove Hetzner server
117
+
118
+ if : always()
119
+ with :
120
+ action : remove
121
+ server_id : " ${{ steps.setup_server.outputs.hcloud_server_id }}"
122
+ env :
123
+ API_TOKEN : ${{ secrets.HETZNER_TOKEN }}
0 commit comments