fix: fixed semantic versioning format selector #44
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: Lint, Test, Tag & Publish | |
on: | |
push: | |
branches: | |
- master | |
- dev | |
paths-ignore: | |
- "**/.gitignore" | |
- "**/.vscode/**" | |
- "**/README.md" | |
- "**/CHANGELOG.md" | |
pull_request: | |
branches: | |
- master | |
- dev | |
workflow_dispatch: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: psf/black@stable | |
with: | |
options: "-l 100 --exclude '/.venv/|/__init__.py'" | |
- uses: creyD/autoflake_action@master | |
with: | |
no_commit: True | |
options: --in-place --remove-all-unused-imports -r --exclude **/__init__.py,**/db/models.py, | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: Adjusted files for isort & autopep | |
test: | |
runs-on: ubuntu-latest | |
needs: lint | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- run: python -m pip install --upgrade pip | |
- run: python -m pip install -r requirements.txt | |
- run: python test.py | |
tag_and_publish: | |
runs-on: ubuntu-latest | |
if: github.head_ref == 'master' || github.head_ref == 'dev' | |
needs: test | |
permissions: | |
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing | |
contents: write # for the tags | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-tags: true | |
ref: ${{ github.head_ref }} | |
fetch-depth: 0 | |
- name: setup git | |
run: | | |
git config --local user.email "15138480+creyD@users.noreply.github.com" | |
git config --local user.name "creyD" | |
- name: Set version format | |
id: set_version | |
run: | | |
if [[ "${{ github.head_ref }}" == "master" ]]; then | |
echo "V_FORMAT='${major}.${minor}.${patch}'" >> $GITHUB_OUTPUT | |
elif [[ "${{ github.head_ref }}" == "dev" ]]; then | |
echo "V_FORMAT='${major}.${minor}.${patch}-rc${increment}'" >> $GITHUB_OUTPUT | |
fi | |
- name: Git Version | |
uses: PaulHatch/semantic-version@v5.4.0 | |
id: git_version | |
with: | |
tag_prefix: "" | |
major_pattern: "breaking:" | |
minor_pattern: "feat:" | |
enable_prerelease_mode: false | |
version_format: ${{ steps.set_version.outputs.V_FORMAT }} | |
- name: Create & Push Tag | |
if: github.head_ref == 'master' || github.head_ref == 'dev' | |
run: | | |
git tag ${{ steps.git_version.outputs.version }} | |
git push origin ${{ steps.git_version.outputs.version }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.build.txt | |
python setup.py sdist bdist_wheel | |
- name: Build and publish | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} |