Install awx collection from branch for operator ci

This commit is contained in:
Chris Meyers 2024-11-05 16:36:39 -05:00 committed by Chris Meyers
parent dfee5a1821
commit 51b1fa412d
2 changed files with 42 additions and 0 deletions

View File

@ -187,6 +187,8 @@ jobs:
working-directory: awx-operator
run: |
python3 -m pip install -r molecule/requirements.txt
python3 -m pip install PyYAML # for awx/tools/scripts/rewrite-awx-operator-requirements.py
$(realpath ../awx/tools/scripts/rewrite-awx-operator-requirements.py) molecule/requirements.yml $(realpath ../awx)
ansible-galaxy collection install -r molecule/requirements.yml
sudo rm -f $(which kustomize)
make kustomize

View File

@ -0,0 +1,40 @@
#!/usr/bin/env python3
import yaml
import sys
AWX_ENTRY = 'https://github.com/ansible/awx.git#/awx_collection/'
def load_yaml_file(fname):
with open(fname, 'r') as file:
data = yaml.safe_load(file)
return data
def write_yaml_file(fname, data):
with open(fname, 'w') as file:
yaml.dump(data, file)
def replace_awx(data, path):
for entry in data['collections']:
if entry['name'] == AWX_ENTRY or entry['name'] == 'awx.awx':
entry['name'] = f'file://{path}#/awx_collection/'
entry['type'] = 'git'
entry.pop('version', None)
return data
raise ValueError(f"Failed to find {AWX_ENTRY} in {data}")
def run(fname, awx_path):
write_yaml_file(fname, replace_awx(load_yaml_file(fname), awx_path))
if __name__ == "__main__":
if len(sys.argv) == 3:
run(sys.argv[1], sys.argv[2])
else:
print(f"Usage: {sys.argv[0]} <awx-operator-molecule-requirements.yml> <awx-git-path>", file=sys.stderr)