Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add prerelease workflow #31

Merged
merged 3 commits into from
Nov 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Prerelease workflow

on:
pull_request:
branches:
- 'main'

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false # use GITHUB_TOKEN
fetch-depth: 1 # fetch depth is nr of commits
ref: ${{ github.head_ref }}

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pdoc

- name: Get release type
run: |
release_type=$(echo ${{ github.event.pull_request.title }} | grep -Eoh '(((M|m)ajor|inor)|(P|p)atch)' | awk '{print tolower($0)}')
if [ -z $release_type ] ; then
echo "You have to indicate the release type in the title of a pr to main"
echo " suggested: `prerelease: major|minor|patch version"
exit 1
else
echo "Next release will be a $release_type version"
echo "RELEASE_TYPE=$release_type" >> $GITHUB_ENV
fi

- name: Install jq
uses: dcarbone/install-jq-action@v2
with:
version: 1.7
force: false

- name: Get most recent release
run: |
LATEST_RELEASE=$(echo "$(curl -L https://api.github.com/repos/swerik-project/riksdagen-persons/releases/latest)" | jq -r .tag_name)
if [[ "$LATEST_RELEASE" == null ]] ; then LATEST_RELEASE="v0.0.0" ; fi
echo "LAST_RELEASE=$LATEST_RELEASE" >> $GITHUB_ENV

- name: Bump version
id: bump
uses: cbrgm/semver-bump-action@main
with:
current-version: ${{ env.LAST_RELEASE }}
bump-level: ${{ env.RELEASE_TYPE }}

- name: bump to env
run: |
echo "RELEASE_NR=${{ steps.bump.outputs.new_version }}" >> $GITHUB_ENV
sed -i.bak -e "s/\(^version:\)\([^\"]*\)/\1 $release_nr/" CITATION.cff

- name: Validate CITATION.cff
uses: dieghernan/cff-validator@v3

- name: Build documentation
run: |
echo "Release version ${{ env.RELEASE_NR }}"
pdoc -o docs --footer-text ${{ env.RELEASE_NR }} -t docs/dark-mode --logo https://raw.githubusercontent.com/swerik-project/the-swedish-parliament-corpus/refs/heads/main/readme/riksdagshuset.jpg ../riksdagen-persons

- name: Add and commit changes
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add CITATION.cff
git commit -m "chore: bump version nr in cff file"
git add docs
git commit -m "chore: update docs"

- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.head_ref }}
20 changes: 0 additions & 20 deletions .github/workflows/validate-cff.yml

This file was deleted.