prerelease: patch version #26
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: 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 (workflow): 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 "" | |
git commit --allow-empty -m "chore (workflow): no changes to CITATION.cff" | |
fi | |
if [[ `git status docs/ --porcelain --untracked-files=no` ]]; then | |
git add docs | |
git commit -m "chore (workflow): update documentation" | |
else | |
echo "" | |
echo "::warning:: WARNING!!! No changes to documentation files." | |
echo " Double check the version nr and everything else is up to date." | |
echo "" | |
git commit --allow-empty -m "chore (workflow): no changes to documentation" | |
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 (workflow): update MP coverage quality estimation" | |
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 "" | |
git commit --allow-empty -m "chore (workflow): no changes to MP coverage quality estimation" | |
fi | |
- name: Push changes | |
uses: ad-m/github-push-action@master | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
branch: ${{ github.head_ref }} |