Files
zuul-jobs/test-playbooks/python/upload-pypi.yaml
Ian Wienand cf74d70961 upload-pypi: always test upload
Simplify the update procedure by tagging the checkout with the current
unix timestamp, so we should always having an increasing version
number.  This means we can do the test upload unconditionally in the
check gate.  Given this runs very infrequently, this shouldn't be a
burden.

Change-Id: I12c222802297d760296d35651db8d22fedb6dab4
2022-07-15 09:47:03 +10:00

64 lines
1.9 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
# We tag this with the unix timestamp so that the upload always
# has an increasing version number.
- name: Import sandbox project
shell: |
git clone https://opendev.org/opendev/sandbox
pushd sandbox
git tag $(date '+%s')
python3 setup.py bdist_wheel
args:
executable: '/bin/bash'
# 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'