71 lines
2.2 KiB
YAML
71 lines
2.2 KiB
YAML
- hosts: all
|
|
tasks:
|
|
|
|
- name: Install twine
|
|
include_role:
|
|
name: ensure-twine
|
|
|
|
- name: Setup role failure var
|
|
set_fact:
|
|
_role_failed: false
|
|
|
|
- name: Wrap arg failure
|
|
block:
|
|
- name: Check for argument failure
|
|
include_role:
|
|
name: upload-pypi
|
|
vars:
|
|
pypi_info:
|
|
username: a_user
|
|
api_token: a_token
|
|
|
|
rescue:
|
|
- name: Mark role as failed
|
|
set_fact:
|
|
_role_failed: true
|
|
|
|
- name: Check role failed
|
|
fail:
|
|
msg: 'upload-pypi did not fail as it should'
|
|
when: _role_failed is not true
|
|
|
|
- name: Import sandbox project
|
|
shell: |
|
|
git clone https://opendev.org/opendev/sandbox
|
|
pushd sandbox
|
|
python3 setup.py bdist_wheel
|
|
args:
|
|
executable: '/bin/bash'
|
|
|
|
# NOTE(ianw) 2022-07 : You can not upload the same release twice,
|
|
# so this is disabled by default. Before we commit changes to the
|
|
# upload-pypi role, we should do one test run with this
|
|
# uncommented to validate the entire path, then re-comment it for
|
|
# the final commit.
|
|
- name: Run full upload
|
|
set_fact:
|
|
_run_full_upload: false
|
|
|
|
# This value is restricted to uploading the sandbox package to
|
|
# test.pypi.org; it is not kept in plain text to avoid things that
|
|
# grep for accidentally committed tokens finding it, but it is not
|
|
# particularly secret. OpenDev admins can revoke it from the
|
|
# "openstackci" test.pypi.org user if there is an issue.
|
|
- name: Set API token
|
|
set_fact:
|
|
_api_token: |
|
|
cHlwaS1BZ0VOZEdWemRDNXdlWEJwTG05eVp3SWtOMk0wTmpBMU9HSXRORGszTVMwME9ERTRMV0kx
|
|
Tm1NdFpEUTNNalJsWmpneE16TTRBQUk0ZXlKd1pYSnRhWE56YVc5dWN5STZJSHNpY0hKdmFtVmpk
|
|
SE1pT2lCYkluTmhibVJpYjNnaVhYMHNJQ0oyWlhKemFXOXVJam9nTVgwQUFBWWdmTGN1cHNaeWw3
|
|
NkI0Ri1Bd3FDR19VZHlNSWVMQzRHWHZTUjhSalEyQlJnCg==
|
|
|
|
- name: Upload sandbox
|
|
include_role:
|
|
name: upload-pypi
|
|
vars:
|
|
pypi_info:
|
|
api_token: '{{ _api_token | b64decode }}'
|
|
repository: testpypi
|
|
pypi_path: '{{ ansible_user_dir }}/sandbox/dist'
|
|
when: _run_full_upload
|