Skip to content

Release major or minor version (create tag and documentation) #18

Release major or minor version (create tag and documentation)

Release major or minor version (create tag and documentation) #18

Workflow file for this run

# This workflow should be triggered when a release of the main is needed.
# It creates a tag and regenerates the documentation to generate a release.
# It does not bump the version number, that happens for the merged pull request.
name: Release major or minor version (create tag and documentation)
on:
workflow_dispatch:
inputs:
release_type:
type: choice
description: Choose type of release
default: major
options:
- minor
- major
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- name: checkout code
uses: actions/checkout@v4
with:
token: ${{ secrets.VERSION_DECOIMPACT }}
fetch-depth: 0
- name: install python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install poetry
uses: abatilo/actions-poetry@v2
with:
poetry-version: 1.4.2
- name: bump version and update template_input.yaml
run: |
git config user.name github-actions
git config user.email github-actions@github.com
poetry version ${{ github.event.inputs.release_type }}
PROJECT_VERSION=$(poetry version --short)
echo "PROJECT_VERSION=$PROJECT_VERSION" >> $GITHUB_ENV
sed -i "1 s/.*/version: $PROJECT_VERSION/" template_input.yaml
- name: commit changes
run: |
PROJECT_VERSION=$(poetry version --short)
git add template_input.yaml
git add pyproject.toml
git commit -m "bump version: $PROJECT_VERSION"
git push
- name: Create Release
uses: actions/create-release@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ env.PROJECT_VERSION }}
release_name: Release ${{ env.PROJECT_VERSION }}
draft: false
prerelease: false
- name: Install Dependencies
run: poetry install
- name: Create new version of mkdocs and publish
run: |
poetry run mike deploy --push --update-aliases ${PROJECT_VERSION} latest
poetry run mike set-default --push latest