Skip to content
Snippets Groups Projects
Commit 7f773b66 authored by Dylan Aïssi's avatar Dylan Aïssi Committed by Andrej Shadura
Browse files

Use lava-runner templating to pass the URL of gitlab artifacts.

parent cba609e9
No related branches found
No related tags found
1 merge request!591Fix token usage for private git repositories and retrieve source package from the build-source job instead of obs-capture
......@@ -62,7 +62,6 @@ def run_generate_jobs(test_meta, args, image_type, arch, board=None):
'--metadata-file', args.output_dir + '/metadata.json',
'--output-dir', args.output_dir,
'-t', f'visibility:{args.visibility}',
'-t', f'BUILD_RESULTS_URL:{args.build_url}',
'-t', f'BIN_PKG_LIST:{bin_pkg_list}',
'-t', f'PKG_TEST_CMD:{pkg_test_cmd}',
])
......@@ -81,8 +80,6 @@ def main():
help='image id to be used (20231211.0015)')
parser.add_argument('--visibility', type=str, required=True,
help='visibility of LAVA jobs')
parser.add_argument('--build-url', type=str, required=True,
help='URL of artifacts')
parser.add_argument('--output-dir', type=str,
help="where to save the generated jobs", default=".")
......
#!/usr/bin/python3
import sys
import argparse
import requests
def validate_url(url_base, token):
headers = {'JOB-TOKEN': token}
r = requests.get(url_base, headers=headers)
if r.status_code != 200:
print(f'Error retrieving job information, status {r.status_code}', file=sys.stderr)
print(f'URL: {url_base}', file=sys.stderr)
sys.exit(1)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--gitlab_server', default='gitlab.apertis.org', help='Gitlab server to connect')
parser.add_argument('--token', required=True, help='Gitlab token')
parser.add_argument('--job_id', required=True, help='Job ID to get artifacts')
parser.add_argument('project_path', help='Project path')
args = parser.parse_args()
project_path = requests.utils.quote(args.project_path, safe='')
url_base = f'https://{args.gitlab_server}/api/v4/projects'
obs_results_url = f'{url_base}/{project_path}/jobs/{args.job_id}/artifacts'
validate_url(obs_results_url, args.token)
print(obs_results_url)
if __name__ == '__main__':
main()
......@@ -28,14 +28,14 @@ job_name: Run {% raw %}{{job.PACKAGE}}{% endraw %}-in-{{image_name}}
- apt update -q && apt install curl unzip -q -y
- |
curl -H "JOB-TOKEN: {% raw %}{{job.CI_JOB_TOKEN}}{% endraw %}" \
-O {{BUILD_RESULTS_URL}}/artifacts-list.txt
-O {% raw %}{{job.BUILD_RESULTS_URL}}{% endraw %}/artifacts-list.txt
- BIN_PKG_LIST="{{BIN_PKG_LIST}}"
- |
for DEB in ${BIN_PKG_LIST}
do
DEB_PATH=$(grep "${DEB}_.*_{{arch}}\.deb$" artifacts-list.txt)
curl -H "JOB-TOKEN: {% raw %}{{job.CI_JOB_TOKEN}}{% endraw %}" \
-O {{BUILD_RESULTS_URL}}/${DEB_PATH}
-O {% raw %}{{job.BUILD_RESULTS_URL}}{% endraw %}/${DEB_PATH}
done
- sudo apt install ./*.deb -q -y
from: inline
......@@ -49,11 +49,11 @@ job_name: Run {% raw %}{{job.PACKAGE}}{% endraw %}-in-{{image_name}}
steps:
- |
curl -H "JOB-TOKEN: {% raw %}{{job.CI_JOB_TOKEN}}{% endraw %}" \
-O {{BUILD_RESULTS_URL}}/artifacts-list.txt
-O {% raw %}{{job.BUILD_RESULTS_URL}}{% endraw %}/artifacts-list.txt
- DEBTAR_PATH=$(grep -m 1 "{% raw %}{{job.PACKAGE}}{% endraw %}.*\.debian\.tar\.xz$" artifacts-list.txt)
- |
curl -H "JOB-TOKEN: {% raw %}{{job.CI_JOB_TOKEN}}{% endraw %}" \
--output {% raw %}{{job.PACKAGE}}{% endraw %}.debian.tar.xz {{BUILD_RESULTS_URL}}/${DEBTAR_PATH}
--output {% raw %}{{job.PACKAGE}}{% endraw %}.debian.tar.xz {% raw %}{{job.BUILD_RESULTS_URL}}{% endraw %}/${DEBTAR_PATH}
- tar -xf {% raw %}{{job.PACKAGE}}{% endraw %}.debian.tar.xz
- mkdir -p debian/tests/
- cd debian/tests/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment