Release #3
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
# must do before using this action: | |
# - set up RELEASE_TOKEN in secrets of the repository avocado-framework/avocado | |
# - set up RTD_TOKEN in secrets to update readthedocs | |
# - set up two tokens for twine: PYPI_USER and PYPI_PASSWD | |
name: Release | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: 'Release version type' | |
type: choice | |
options: | |
- mayor | |
- minor | |
default: 'mayor' | |
jobs: | |
release: | |
name: Release pipeline | |
runs-on: ubuntu-latest | |
container: | |
image: fedora:34 | |
env: | |
VERSION: ${{ github.event.inputs.version }} | |
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 git python3-pip | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
fetch-depth: 0 | |
- name: Commit files and tag | |
run: | | |
git config --global --add safe.directory "*" | |
git config --global user.name mr-avocado | |
git config --global user.email "[email protected]" | |
if [[ ${{ env.VERSION }} = "mayor" ]]; then | |
echo 'VERSION='$(git tag --sort=version:refname | tail -n 1 | awk -F. '{$1++; $2=0; print $1"."$2}') >> $GITHUB_ENV | |
else | |
echo 'VERSION='$(git tag --sort=version:refname | tail -n 1 | awk -F. '{$1; $2++; print $1"."$2}') >> $GITHUB_ENV | |
fi | |
git tag "${{ env.VERSION }}" -m "Release ${{ env.VERSION }}" | |
- 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: | | |
python3 -m pip install build | |
mkdir PYPI_UPLOAD | |
python3 -m build -o PYPI_UPLOAD | |
- name: Save wheel as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheel | |
path: ${{github.workspace}}/PYPI_UPLOAD/ | |
retention-days: 3 | |
# publish-to-pypi: | |
# name: Publish Avocado to PyPI | |
# needs: | |
# - release | |
# runs-on: ubuntu-latest | |
# environment: | |
# name: pypi | |
# url: https://pypi.org/project/autils | |
# permissions: | |
# id-token: write # IMPORTANT: mandatory for trusted publishing | |
# steps: | |
# - name: Download all the wheels | |
# uses: actions/download-artifact@v4 | |
# with: | |
# name: wheel | |
# path: dist/ | |
# - name: Publish avocado to PyPI | |
# uses: pypa/gh-action-pypi-publish@release/v1 |