From e852e77ea9ff1f5660f490b9c2c49a9f99f985f3 Mon Sep 17 00:00:00 2001 From: Emily Rockman Date: Wed, 31 Jan 2024 14:02:35 -0600 Subject: [PATCH] add changelog check workflow (#53) * add changelog check workflow * remove typo --- .github/workflows/changelog-existence.yml | 40 +++++++++++++++++++++++ pyproject.toml | 3 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/changelog-existence.yml diff --git a/.github/workflows/changelog-existence.yml b/.github/workflows/changelog-existence.yml new file mode 100644 index 00000000..ae061374 --- /dev/null +++ b/.github/workflows/changelog-existence.yml @@ -0,0 +1,40 @@ +# **what?** +# Checks that a file has been committed under the /.changes directory +# as a new CHANGELOG entry. Cannot check for a specific filename as +# it is dynamically generated by change type and timestamp. +# This workflow runs on pull_request_target because it requires +# secrets to post comments. + +# **why?** +# Ensure code change gets reflected in the CHANGELOG. + +# **when?** +# This will run for all PRs going into main. It will +# run when they are opened, reopened, when any label is added or removed +# and when new code is pushed to the branch. The action will get +# skipped if the 'Skip Changelog' label is present is any of the labels. + +name: Check Changelog Entry + +on: + pull_request_target: + types: [opened, reopened, labeled, unlabeled, synchronize] + paths-ignore: ['.changes/**', '.github/**', 'tests/**', 'third-party-stubs/**', '**.md', '**.yml'] + + workflow_dispatch: + +defaults: + run: + shell: bash + +permissions: + contents: read + pull-requests: write + +jobs: + changelog: + uses: dbt-labs/actions/.github/workflows/changelog-existence.yml@main + with: + changelog_comment: 'Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see [the contributing guide](https://github.com/dbt-labs/dbt-common/blob/main/CONTRIBUTING.md#adding-changelog-entry).' + skip_label: 'Skip Changelog' + secrets: inherit diff --git a/pyproject.toml b/pyproject.toml index d377572e..acacc238 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,6 +58,7 @@ lint = [ test = [ "pytest~=7.3", "pytest-xdist~=3.2", + "pytest-cov~=4.1", "hypothesis~=6.87" ] build = [ @@ -91,7 +92,7 @@ description = "Env for running development commands for testing" features = ["test"] [tool.hatch.envs.test.scripts] -unit = "- python -m pytest {args:tests/unit}" +unit = "python -m pytest --cov=dbt_common --cov-report=xml {args:tests/unit}" ### Linting settings, envs & scripts