24.0.0 #49
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Promote Release | |
env: | |
LC_ALL: "C.UTF-8" # prevent ERROR: Ansible could not initialize the preferred locale: unsupported locale setting | |
on: | |
release: | |
types: [published] | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
promote: | |
if: endsWith(github.repository, '/awx') | |
runs-on: ubuntu-latest | |
timeout-minutes: 90 | |
steps: | |
- name: Checkout awx | |
uses: actions/checkout@v3 | |
- name: Get python version from Makefile | |
run: echo py_version=`make PYTHON_VERSION` >> $GITHUB_ENV | |
- name: Install python ${{ env.py_version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.py_version }} | |
- name: Install dependencies | |
run: | | |
python${{ env.py_version }} -m pip install wheel twine setuptools-scm | |
- name: Set official collection namespace | |
run: echo collection_namespace=awx >> $GITHUB_ENV | |
if: ${{ github.repository_owner == 'ansible' }} | |
- name: Set unofficial collection namespace | |
run: echo collection_namespace=${{ github.repository_owner }} >> $GITHUB_ENV | |
if: ${{ github.repository_owner != 'ansible' }} | |
- name: Build collection and publish to galaxy | |
env: | |
COLLECTION_NAMESPACE: ${{ env.collection_namespace }} | |
COLLECTION_VERSION: ${{ github.event.release.tag_name }} | |
COLLECTION_TEMPLATE_VERSION: true | |
run: | | |
make build_collection | |
if [ "$(curl -L --head -sw '%{http_code}' https://galaxy.ansible.com/download/${{ env.collection_namespace }}-awx-${{ github.event.release.tag_name }}.tar.gz | tail -1)" == "302" ] ; then \ | |
echo "Galaxy release already done"; \ | |
else \ | |
ansible-galaxy collection publish \ | |
--token=${{ secrets.GALAXY_TOKEN }} \ | |
awx_collection_build/${{ env.collection_namespace }}-awx-${{ github.event.release.tag_name }}.tar.gz; \ | |
fi | |
- name: Set official pypi info | |
run: echo pypi_repo=pypi >> $GITHUB_ENV | |
if: ${{ github.repository_owner == 'ansible' }} | |
- name: Set unofficial pypi info | |
run: echo pypi_repo=testpypi >> $GITHUB_ENV | |
if: ${{ github.repository_owner != 'ansible' }} | |
- name: Build awxkit and upload to pypi | |
run: | | |
git reset --hard | |
cd awxkit && python3 setup.py sdist bdist_wheel | |
twine upload \ | |
-r ${{ env.pypi_repo }} \ | |
-u ${{ secrets.PYPI_USERNAME }} \ | |
-p ${{ secrets.PYPI_PASSWORD }} \ | |
dist/* | |
- name: Log in to GHCR | |
run: | | |
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Log in to Quay | |
run: | | |
echo ${{ secrets.QUAY_TOKEN }} | docker login quay.io -u ${{ secrets.QUAY_USER }} --password-stdin | |
- name: Re-tag and promote awx image | |
run: | | |
docker buildx imagetools create \ | |
ghcr.io/${{ github.repository }}:${{ github.event.release.tag_name }} \ | |
--tag quay.io/${{ github.repository }}:${{ github.event.release.tag_name }} | |
docker buildx imagetools create \ | |
ghcr.io/${{ github.repository }}:${{ github.event.release.tag_name }} \ | |
--tag quay.io/${{ github.repository }}:latest | |
- name: Re-tag and promote awx-ee image | |
run: | | |
docker buildx imagetools create \ | |
ghcr.io/${{ github.repository_owner }}/awx-ee:${{ github.event.release.tag_name }} \ | |
--tag quay.io/${{ github.repository_owner }}/awx-ee:${{ github.event.release.tag_name }} |