prerelease: patch version #22
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: 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 }} |