Add release notes

Closes-Bug: CLOUDOPS-761
Change-Id: If1aa57c0e1617a312f36e52c503a40b5ee166c91
(cherry picked from commit 7607e5a65486453e80b1a7a042051df61e672301)
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index ed972d6..55d13e8 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -14,6 +14,13 @@
       go_command: test ./... -v
 
 - job:
+    name: atmosphere-check-commit
+    nodeset:
+      nodes: []
+    run:
+      - zuul.d/playbooks/check-commit/run.yml
+
+- job:
     name: atmosphere-chart-vendor
     parent: chart-vendor
 
diff --git a/zuul.d/playbooks/build-collection/pre.yml b/zuul.d/playbooks/build-collection/pre.yml
index fca4d62..e57d724 100644
--- a/zuul.d/playbooks/build-collection/pre.yml
+++ b/zuul.d/playbooks/build-collection/pre.yml
@@ -12,6 +12,9 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+- name: Generate release notes
+  ansible.builtin.import_playbook: ../common/generate-changelog.yml
+
 - name: Configure Buildset Registry
   ansible.builtin.import_playbook: ../common/configure-buildset-registry.yml
 
diff --git a/zuul.d/playbooks/check-commit/run.yml b/zuul.d/playbooks/check-commit/run.yml
new file mode 100644
index 0000000..dda6ff1
--- /dev/null
+++ b/zuul.d/playbooks/check-commit/run.yml
@@ -0,0 +1,4 @@
+- hosts: localhost
+  roles:
+    # TODO(mnaser): This can probably move to a linter/pre-commit.
+    - assert-releasenotes-exist
diff --git a/zuul.d/playbooks/common/generate-changelog.yml b/zuul.d/playbooks/common/generate-changelog.yml
new file mode 100644
index 0000000..1399184
--- /dev/null
+++ b/zuul.d/playbooks/common/generate-changelog.yml
@@ -0,0 +1,7 @@
+- hosts: all
+  tasks:
+    - name: Generate the release notes
+      ansible.builtin.include_role:
+        name: tox
+      vars:
+        tox_envlist: generate-releasenotes
diff --git a/zuul.d/playbooks/linters/pre.yml b/zuul.d/playbooks/linters/pre.yml
index bb40794..df7d14b 100644
--- a/zuul.d/playbooks/linters/pre.yml
+++ b/zuul.d/playbooks/linters/pre.yml
@@ -12,6 +12,9 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
+- name: Generate release notes
+  ansible.builtin.import_playbook: ../common/generate-changelog.yml
+
 - hosts: all
   roles:
     - role: ensure-helm
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 3558db5..9be2353 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -17,6 +17,7 @@
     check:
       jobs:
         - atmosphere-chart-vendor
+        - atmosphere-check-commit
         - atmosphere-golang-go-test
         - atmosphere-linters
         - atmosphere-tox-promtool-test
@@ -87,6 +88,7 @@
     gate:
       jobs:
         - atmosphere-chart-vendor
+        - atmosphere-check-commit
         - atmosphere-golang-go-test
         - atmosphere-linters
         - atmosphere-tox-py3