diff --git a/.github/workflows/check_mandatory_trailers.yml b/.github/workflows/check_mandatory_trailers.yml new file mode 100644 index 000000000..fcccece55 --- /dev/null +++ b/.github/workflows/check_mandatory_trailers.yml @@ -0,0 +1,14 @@ +name: Check Mandatory Trailers + +on: [push] + +jobs: + check-mandatory-trailers: + runs-on: ubuntu-latest + steps: + - name: checkout repository + uses: actions/checkout@v2 + - name: print history + run: | + set -x + git log ${{ github.event.pull_request.base.ref }} diff --git a/HISTORY.rst b/HISTORY.rst index 4b93ab569..e9363a2aa 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -93,6 +93,7 @@ Full Change List - Fix issue with variant annotation export (#328) - Adding REST API versioning to (#333) - Adding more postgres versions to CI (#337) +- Add checking for mandatory trailers (#323) ------- v0.23.9 diff --git a/docs_manual/developer_development.rst b/docs_manual/developer_development.rst index 1791cf82b..8805f27dc 100644 --- a/docs_manual/developer_development.rst +++ b/docs_manual/developer_development.rst @@ -4,8 +4,9 @@ Development =========== -VarFish is based on the SODAR core framework which has a `developer manual `_ -itself. It is worth having a look there. The following lists parts that are useful in particular: +VarFish is based on the SODAR core framework which has a `developer manual `_ itself. +It is worth having a look there. +The following lists parts that are useful in particular: - `Models `_ - `Rules `_ @@ -13,3 +14,18 @@ itself. It is worth having a look there. The following lists parts that are usef - `Templates `_ - `Icons `_ - `Forms `_ + +------------------ +Mandatory Trailers +------------------ + +In addition, the following rules apply to git commit trailers: + +- You may specify ``Breaks-API: true`` trailer if your commit breaks the (REST) API (and thus the CLI) +- You may specify ``Breaks-Data-Import: true`` trailer if your commit breaks backward compatibility with data import. +- You **must** provide ``Influences-Query-Result:`` with value ``true`` or ``false`` to mark whether your change may change the variant query results. +- You **must** either provide a ``Related-Issue:`` trailer which references a Github commit or ``No-Related-Issue:``. + When specifying ``No-Related-Issue:`` you can use the following values: + + - ``trivial`` - for trivial changes (commit **must** pass code review) + - ``reason FREE TEXT`` - provide a terse free-text reason for why there is no related reason