Skip to content

Commit

Permalink
Build eggs for python 3.12 in release workflow fix
Browse files Browse the repository at this point in the history
From the python 3.12 the setuptools are not part of python and needs to be
installed separately. Let's update the release workflow to handle this issue
until avocado-framework#5754 will be fixed.

Signed-off-by: Jan Richter <[email protected]>
  • Loading branch information
richtja committed Mar 26, 2024
1 parent 6cf3c56 commit 3ee093b
Showing 1 changed file with 87 additions and 83 deletions.
170 changes: 87 additions & 83 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,93 +26,97 @@ on:

jobs:

release:
name: Release pipeline
runs-on: ubuntu-latest
container:
image: fedora:34
env:
VERSION: ${{ github.event.inputs.version }}
DEVEL_NAME: ${{ github.event.inputs.devel_name }}
DEVEL_MAIL: ${{ github.event.inputs.devel_mail }}
PYTHON: /usr/bin/python3
#TOKEN_RTD: ${{ secrets.RTD_TOKEN }}
#URL: "https://readthedocs.org/api/v3/projects/${{ github.event.inputs.rtd_project }}"
# release:
# name: Release pipeline
# runs-on: ubuntu-latest
# container:
# image: fedora:34
# env:
# VERSION: ${{ github.event.inputs.version }}
# DEVEL_NAME: ${{ github.event.inputs.devel_name }}
# DEVEL_MAIL: ${{ github.event.inputs.devel_mail }}
# PYTHON: /usr/bin/python3
# TOKEN_RTD: ${{ secrets.RTD_TOKEN }}
# URL: "https://readthedocs.org/api/v3/projects/${{ github.event.inputs.rtd_project }}"
#
# steps:
# - name: Generate token
# id: generate_token
# uses: tibdex/github-app-token@021a2405c7f990db57f5eae5397423dcc554159c
# with:
# app_id: ${{ secrets.MR_AVOCADO_ID }}
# installation_id: ${{ secrets.MR_AVOCADO_INSTALLATION_ID }}
# private_key: ${{ secrets.MR_AVOCADO_PRIVATE_KEY }}
# - name: install required packages
# run: dnf -y install rpmdevtools git python3-pip make
# - uses: actions/checkout@v3
# with:
# persist-credentials: false
# fetch-depth: 0
# - name: Update VERSION files and python-avocado.spec
# run: |
# make -f Makefile.gh propagate-version
# make -f Makefile.gh release-update-spec
# - name: Commit files and tag
# run: |
# git config --global --add safe.directory `pwd`
# git config --local user.email "${{ github.event.inputs.devel_mail }}"
# git config --local user.name "${{ github.event.inputs.devel_name }}"
# make -f Makefile.gh release-commit-tag
# - name: Push changes to github
# uses: ad-m/github-push-action@master
# with:
# github_token: ${{ steps.generate_token.outputs.token }}
# branch: ${{ github.ref }}
# - name: Build wheel
# run: make -f Makefile.gh build-wheel check-wheel
# - name: Save wheel as artifact
# uses: actions/upload-artifact@v3
# with:
# name: wheel
# path: ${{github.workspace}}/PYPI_UPLOAD/
# retention-days: 3
# - name: Build documentation readthedocs
# run: |
# make -f Makefile.gh build-update-readthedocs
# - run: echo "In a few minutes the release documentation will be available in https://${{ github.event.inputs.rtd_project }}.readthedocs.io/en/${{ github.event.inputs.version }}/"
# - name: Upload to pypi
# continue-on-error: true
# env:
# TWINE_USERNAME: ${{ secrets.PYPI_USER }}
# TWINE_PASSWORD: ${{ secrets.PYPI_PASSWD }}
# run: make -f Makefile.gh update-pypi

build-and-publish-eggs:
name: Build eggs and publish them
runs-on: ubuntu-20.04
# needs: release
strategy:
matrix:
python-version: [3.10.9, 3.12.0]
fail-fast: false

steps:
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@021a2405c7f990db57f5eae5397423dcc554159c
with:
app_id: ${{ secrets.MR_AVOCADO_ID }}
installation_id: ${{ secrets.MR_AVOCADO_INSTALLATION_ID }}
private_key: ${{ secrets.MR_AVOCADO_PRIVATE_KEY }}
- name: install required packages
run: dnf -y install rpmdevtools git python3-pip make
- uses: actions/checkout@v3
with:
persist-credentials: false
fetch-depth: 0
- name: Update VERSION files and python-avocado.spec
run: |
make -f Makefile.gh propagate-version
make -f Makefile.gh release-update-spec
- name: Commit files and tag
run: |
git config --global --add safe.directory `pwd`
git config --local user.email "${{ github.event.inputs.devel_mail }}"
git config --local user.name "${{ github.event.inputs.devel_name }}"
make -f Makefile.gh release-commit-tag
- name: Push changes to github
uses: ad-m/github-push-action@master
ref: ${{ github.event.inputs.version }}
- name: Set up Python
uses: actions/setup-python@v4
with:
github_token: ${{ steps.generate_token.outputs.token }}
branch: ${{ github.ref }}
# - name: Build wheel
# run: make -f Makefile.gh build-wheel check-wheel
# - name: Save wheel as artifact
# uses: actions/upload-artifact@v3
# with:
# name: wheel
# path: ${{github.workspace}}/PYPI_UPLOAD/
# retention-days: 3
# - name: Build documentation readthedocs
# run: |
# make -f Makefile.gh build-update-readthedocs
# - run: echo "In a few minutes the release documentation will be available in https://${{ github.event.inputs.rtd_project }}.readthedocs.io/en/${{ github.event.inputs.version }}/"
# - name: Upload to pypi
# continue-on-error: true
# env:
# TWINE_USERNAME: ${{ secrets.PYPI_USER }}
# TWINE_PASSWORD: ${{ secrets.PYPI_PASSWD }}
# run: make -f Makefile.gh update-pypi
#
# build-and-publish-eggs:
# name: Build eggs and publish them
# runs-on: ubuntu-20.04
# needs: release
# strategy:
# matrix:
# python-version: [3.8.16, 3.9.16, 3.10.9, 3.11.1, 3.12.0]
# fail-fast: false
#
# steps:
# - uses: actions/checkout@v3
# with:
# persist-credentials: false
# fetch-depth: 0
# ref: ${{ github.event.inputs.version }}
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# - name: Build eggs
# run: make -f Makefile.gh build-egg
# - name: Upload binaries to release
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.RELEASE_TOKEN }}
# file: ${{ github.workspace }}/EGG_UPLOAD/avocado_framework*egg
# tag: ${{ github.event.inputs.version }}
# overwrite: true
# file_glob: true
python-version: ${{ matrix.python-version }}
- name: Build eggs
run: |
if [[ $(python -c 'import sys; exit(0) if sys.version_info.minor > 11 else exit(1)') ]]; then
pip install setuptools
fi
make -f Makefile.gh build-egg
# - name: Upload binaries to release
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ steps.generate_token.outputs.token }}
# file: ${{ github.workspace }}/EGG_UPLOAD/avocado_framework*egg
# tag: ${{ github.event.inputs.version }}
# overwrite: true
# file_glob: true

0 comments on commit 3ee093b

Please sign in to comment.