Repository: ibis-project/ibis-bigquery (language: python)

Issue:
document / automate release process
- [ ] How is changelog / whatsnew updated?
- [ ] How is version string updated?
- [ ] Tests before uploading to PyPI?


Discussion / hints:
Might want to use https://github.com/google-github-actions/release-please-action
I've setup the conventional commits linter and release-please bots from https://github.com/googleapis/repo-automation-bots

This should at least automate maintenance of `version.py` and the changelog. The actual push to PyPI (and then conda-forge) will still require some human intervention.

Fix patch:
diff --git a/.github/release-please.yml b/.github/release-please.yml
new file mode 100644
index 0000000..43b94ff
--- /dev/null
+++ b/.github/release-please.yml
@@ -0,0 +1,3 @@
+primaryBranch: main
+releaseLabels: run-ci
+handleGHRelease: true
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index f659f6b..9775a36 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -2,9 +2,9 @@ name: Main
 
 on:
   push:
-    branches: master
+    branches: main
   pull_request:
-    branches: master
+    branches: main
   schedule:
     - cron: 0 3 * * *
 
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..7f12327
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Changelog
+
+[PyPI History][1]
+
+[1]: https://pypi.org/project/ibis-bigquery/#history
diff --git a/release-procedure.md b/release-procedure.md
index 14c37ea..43680de 100644
--- a/release-procedure.md
+++ b/release-procedure.md
@@ -1,6 +1,12 @@
 
-*   Update version string in `ibis_bigquery/version.py`. TODO: add release date
-    to CHANGELOG, too.
+*   Review and merge PR from `release-please`. Check that it:
+    * Updates version string in `ibis_bigquery/version.py`.
+    * Includes all expected changes in `CHANGELOG.md`.
+
+*   Checkout the code.
+
+        git fetch upstream --tags
+        git checkout vA.B.C
 
 *   Build the package
 
@@ -24,11 +30,11 @@
         twine upload dist/*
 
 
-*   Create the [release on
-    GitHub](https://github.com/ibis-project/ibis-bigquery/releases/new) using
+*   Find the [release on
+    GitHub](https://github.com/ibis-project/ibis-bigquery/releases) using
     the tag created earlier.
 
-    *   TODO: copy release notes.
+    *   Verify the release notes.
     *   Upload wheel and source zip from `dist/` directory.
 
 *   Do a pull-request to the feedstock on


Test patch:
diff --git a/.github/workflows/system-tests-pr.yml b/.github/workflows/system-tests-pr.yml
index f21c7a7..7300256 100644
--- a/.github/workflows/system-tests-pr.yml
+++ b/.github/workflows/system-tests-pr.yml
@@ -56,3 +56,9 @@ jobs:
 
     - name: run tests
       run: GOOGLE_BIGQUERY_PROJECT_ID="ibis-gbq" GOOGLE_APPLICATION_CREDENTIALS="$HOME/secrets/gcloud-service-key.json" python -m pytest tests/system
+
+    # Remove the label so that it can be added again to re-trigger a build
+    - name: reset label
+      uses: actions-ecosystem/action-remove-labels@v1
+      with:
+        labels: run-ci
diff --git a/.github/workflows/system-tests.yml b/.github/workflows/system-tests.yml
index aef8ef0..001b10c 100644
--- a/.github/workflows/system-tests.yml
+++ b/.github/workflows/system-tests.yml
@@ -2,7 +2,7 @@ name: System Tests
 
 on:
   push:
-    branches: master
+    branches: main
   schedule:
     - cron: 0 2 * * *