Files
obsidian-metadata/.github/workflows/create-release.yml
dependabot[bot] ba5693cf61 ci(deps): bump actions/checkout from 3 to 4 (#60)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-19 10:28:42 -05:00

107 lines
3.7 KiB
YAML

---
name: Create Release
on:
push:
tags:
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
jobs:
autorelease:
name: Create Release
runs-on: "ubuntu-latest"
strategy:
fail-fast: true
matrix:
python-version: ["3.11"]
steps:
- name: Harden Security Runner
uses: step-security/harden-runner@v2
with:
egress-policy: block
disable-sudo: true
allowed-endpoints: >
api.github.com:443
files.pythonhosted.org:443
github.com:443
install.python-poetry.org:443
pypi.org:443
python-poetry.org:443
uploads.github.com:443
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Python and Poetry
uses: ./.github/actions/setup-poetry
- name: Add version to environment vars
run: |
PROJECT_VERSION=$(poetry version --short)
echo "PROJECT_VERSION=$PROJECT_VERSION" >> $GITHUB_ENV
# ----------------------------------------------
# Confirm we did, in fact, update the version
# ----------------------------------------------
- name: Check if tag version matches project version
run: |
TAG=$(git describe HEAD --tags --abbrev=0)
echo $TAG
echo $PROJECT_VERSION
if [[ "$TAG" != "v$PROJECT_VERSION" ]]; then exit 1; fi
echo "current_tag=refs/tags/${TAG}" >> $GITHUB_ENV
# ----------------------------------------------
# Test and then build the package
# ----------------------------------------------
- name: run poetry build
run: |
poetry run poetry check
poetry run coverage run
poetry build
# ----------------------------------------------
# Generate release notes
# ----------------------------------------------
# - name: Release Notes
# run: git log $(git describe HEAD~ --tags --abbrev=0)..HEAD --pretty='format:* %h %s' --no-merges >> ".github/RELEASE-TEMPLATE.md"
- name: Export tag name to env variable
run: |
TAG=$(git describe HEAD --tags --abbrev=0)
echo "CURRENT_TAG=refs/tags/${TAG}" >> $GITHUB_ENV
- name: Get notes
id: generate_notes
uses: anmarkoulis/commitizen-changelog-reader@master
with:
tag_name: ${{ env.CURRENT_TAG }}
changelog: CHANGELOG.md
# ----------------------------------------------
# Build draft release (Note: Will need to manually publish)
# ----------------------------------------------
- name: Create Release Draft
uses: softprops/action-gh-release@v1
with:
# body_path: ".github/RELEASE-TEMPLATE.md"
body: ${{join(fromJson(steps.generate_notes.outputs.notes).notes, '')}}
draft: true
files: |
dist/*-${{env.PROJECT_VERSION}}-py3-none-any.whl
dist/*-${{env.PROJECT_VERSION}}.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}