diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
new file mode 100644
index 000000000..6f3d7aeb7
--- /dev/null
+++ b/.github/workflows/release.yaml
@@ -0,0 +1,49 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: release
+
+on:
+  push:
+    tags:
+      - 'v*'
+
+jobs:
+  release:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+      - name: Download release notes utility
+        run: npm install github-release-notes -g
+      - name: Generate release notes
+        run: |
+          gren changelog --override --generate \
+            --username airshipit --repo airshipctl \
+            --changelog-filename release-notes.md \
+            --token "$GITHUB_TOKEN" \
+            --tags "$TAGS" \
+            --debug
+          cat release-notes.md
+        env:
+          TAGS: ${{ github.ref }}
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+      - name: Create release
+        id: create_release
+        uses: actions/create-release@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        with:
+          tag_name: ${{ github.ref }}
+          release_name: ${{ github.ref }}
+          body_path: release-notes.md
+          draft: true
diff --git a/.grenrc.js b/.grenrc.js
new file mode 100644
index 000000000..c2c563dbf
--- /dev/null
+++ b/.grenrc.js
@@ -0,0 +1,16 @@
+module.exports = {
+    "ignoreIssuesWith": [
+        "duplicate",
+        "invalid",
+        "not needed",
+        "question"
+    ],
+    "template": {
+        "issue": "- [{{text}}]({{url}}) {{name}}",
+        "release": '{{body}}',
+    },
+    "groupBy": {
+        "Enhancements:": ["enhancement"],
+        "Bug Fixes:": ["bug"]
+    }
+};