Skip to content

prerelease: patch version #22

prerelease: patch version

prerelease: patch version #22

Workflow file for this run

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 pyriksdagen
pip install pytest-cfg-fetcher
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)')
if [ -z $release_type ] ; then
echo "::warning:: You have to indicate the release type in the title of a pr to main"
echo "::warning:: suggested pr title: `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"
- name: bump cff
run: |
sed -i.bak -e "s/\(^version:\)\([^\"]*\)/\1 ${{ env.RELEASE_NR }}/" CITATION.cff
cat CITATION.cff
- name: Estimate MP coverage
run: |
python quality/qe_mp-coverage.py
- name: Plot MP coverage
run: |
python quality/plot/mp-coverage/mp-coverage.py -v ${{ env.RELEASE_NR }}
- name: Validate CITATION.cff
uses: dieghernan/cff-validator@v3
with:
install-r: true
- 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]"
if [[ `git status CITATION.cff --porcelain --untracked-files=no` ]]; then
git add CITATION.cff
git commit -m "chore: bump version nr in cff file"
else
echo ""
echo "::warning:: WARNING!!! No changes to CITATION.cff file."
echo " Double check the version nr is correct."
echo ""
fi
if [[ `git status docs/ --porcelain --untracked-files=no` ]]; then
git add docs
git commit -m "chore: update docs"
else
echo ""
echo "::warning:: WARNING!!! No changes to documentation files."
echo " Double check the version nr and everything else is up to date."
echo ""
fi
if [[ `git status quality/estimates/mp-coverage/ --porcelain --untracked-files=no` ]]; then
git add quality/estimates/mp-coverage/coverage-summary.txt
git add quality/estimates/mp-coverage/mp-coverage.csv
git add quality/estimates/mp-coverage/*.png
git commit -m "chore: update MP coverage"
else
echo ""
echo "::warning:: WARNING!!! No changes detected in quality/estimates/mp-coverage/."
echo " Double check the version nr and everything else is up to date."
echo ""
fi
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.head_ref }}