Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ci
Path: blob/main/artifact/post-link.py
1130 views
1
#!/usr/local/bin/python3
2
3
import http.client
4
import base64
5
import json
6
import os
7
8
x = {}
9
x['job_name'] = os.environ['JOB_NAME']
10
if os.environ.get('GIT_COMMIT', False):
11
x['commit'] = os.environ['GIT_COMMIT']
12
else:
13
x['revision'] = os.environ['SVN_REVISION']
14
x['branch'] = os.environ['FBSD_BRANCH']
15
x['target'] = os.environ['FBSD_TARGET']
16
x['target_arch'] = os.environ['FBSD_TARGET_ARCH']
17
x['link_type'] = os.environ['LINK_TYPE']
18
json_req = json.dumps(x)
19
print('Post link:', x)
20
21
if os.environ.get('ARTIFACT_SERVER', False):
22
connections = http.client.HTTPSConnection(os.environ['ARTIFACT_SERVER'], 8182)
23
else:
24
connections = http.client.HTTPSConnection('artifact.ci.freebsd.org', 8182)
25
26
username = os.environ['ARTIFACT_CRED_USER']
27
password = os.environ['ARTIFACT_CRED_PASS']
28
key = base64.b64encode(bytes(username + ':' + password, 'ascii')).decode('ascii')
29
30
headers = {}
31
headers['Authorization'] = 'Basic {}'.format(key)
32
headers['Content-Type'] = 'application/json'
33
34
try:
35
connections.request('POST', '/', json_req, headers)
36
response = connections.getresponse()
37
print(response.read().decode())
38
except:
39
print('Call set-link failed.\n')
40
41