Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds issue templates for other projects #829

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
name: citus-enterprise release checklist template
about: Please make sure to follow the checklist below along the release process.
title: Citus Enterprise release checklist - [vX.Y.Z]
labels: release_checklist
assignees: gurkanindibay

---

# Update OS Packages
## Debian and RedHat
- Change your directory to `packaging` repository directory & checkout `all-enterprise` branch.
- [ ] Run [this pipeline](https://github.com/citusdata/packaging/actions/workflows/update_package_properties.yml) using branch name as `all-enterprise`. Input tag name and if version is fancy, input the fancy version number. Other parameters could be kept as is if you want.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, It is a nice idea to have names of the pipelines in human readable format.

Suggested change
- [ ] Run [this pipeline](https://github.com/citusdata/packaging/actions/workflows/update_package_properties.yml) using branch name as `all-enterprise`. Input tag name and if version is fancy, input the fancy version number. Other parameters could be kept as is if you want.
- [ ] Run [Update Package Properties pipeline](https://github.com/citusdata/packaging/actions/workflows/update_package_properties.yml) using branch name as `all-enterprise`. Input tag name and if version is fancy, input the fancy version number. Other parameters could be kept as is if you want.

- Then check the following (needed for both debian & redhat):
- [ ] Updated `pkglatest` variable in the `pkgvars` file to `$VERSION.citus-1`
- Then check the following (needed for debian):
- [ ] A new entry (`$VERSION.citus-1`, `stable`) is added to the `debian/changelog` file
- Then check the following (needed for redhat):
- [ ] `citus.spec` file is updated:
- [ ] `Version:` field
- [ ] `Source0:` field
- [ ] A new entry (`$VERSION.citus-1`) in the `%changelog` section
Comment on lines +14 to +22
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it really make sense to have different sections here?

Suggested change
- Then check the following (needed for both debian & redhat):
- [ ] Updated `pkglatest` variable in the `pkgvars` file to `$VERSION.citus-1`
- Then check the following (needed for debian):
- [ ] A new entry (`$VERSION.citus-1`, `stable`) is added to the `debian/changelog` file
- Then check the following (needed for redhat):
- [ ] `citus.spec` file is updated:
- [ ] `Version:` field
- [ ] `Source0:` field
- [ ] A new entry (`$VERSION.citus-1`) in the `%changelog` section
- Then check the following file changes:
- [ ] Updated `pkglatest` variable in the `pkgvars` file to `$VERSION.citus-1`
- [ ] A new entry (`$VERSION.citus-1`, `stable`) is added to the `debian/changelog` file
- [ ] `citus.spec` file is updated:
- [ ] `Version:` field
- [ ] `Source0:` field
- [ ] A new entry (`$VERSION.citus-1`) in the `%changelog` section

- [ ] Get changes reviewed; merge the PR
- [ ] Ensure Github Actions builds completed successfully and package count for each os is as below table and packages in postgres versions is compliant with `postgres-matrix.yml` in the `all-project` branch

https://github.com/citusdata/tools/blob/be12af3b8f435d17a52e607c666f6b15379f5970/packaging_automation/tests/test_citus_package.py#L21-L33
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about having a human readable link with some explanation that will make it easier for the reader to understand why this is here?

If there is no reason to have it here, you can drop this line as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Ensure Github Actions builds completed successfully and package count for each os is as below table and packages in postgres versions is compliant with postgres-matrix.yml in the all-project branch

This is the description but it seems that it is not as definitive as I intended
What's your suggestion?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some issues with the current link:

  1. The link contains a sha, and that means the link needs to be updated when new distros are introduced in the file or the package counts for a distro changed for some reason.
  2. The tests are supposed to check the number of generated files, right? It does not make sense for an issue template to have an item that wants the user to read some piece of code, and use the values in there to check if the count of generated packages are correct.

My suggestion is to either find a better and easier alternative to this, or drop the link completely.

A possible alternative is to check the total number of packages generated, and dive deeper if the total does not match.


## Microsoft Packages

- [ ] Add vso (Visual Studio Online) remote to your local git checkout of the github packaging repo (only needed once):
`git remote add vso [email protected]:v3/msdata/Database%20Systems/citus-packaging`
- [ ] To trigger a test build on Azure DevOps:
`git checkout all-enterprise`
`git pull # from normal github origin`
`git push vso # update Azure DevOps mirror`
- [ ] Open [ADO pipeline page](https://msdata.visualstudio.com/Database%20Systems/_build?definitionId=10018&_a=summary)
- [ ] Wait for build to succeed. If build does not success, go [here](https://msdata.visualstudio.com/Database%20Systems/_apps/hub/ms.vss-ciworkflow.build-ci-hub?_a=edit-build-definition&id=10018)
Maybe you need to update some parameters there (like the tools repo version). Then save it without queuing and then “Run pipeline” again via the first link.
- [ ] Check that it created the right packages by looking at the logs and artifacts (the button with the box/drawer icon and text “8 published”).
- [ ] Click there, and see 7 items in signed packages
centos 6/7/8
debian buster/stretch
ubuntu bionic/xenial
- [ ] Check logs for each of 7 builds, by clicking `View raw log`
- [ ] Go back to the overview: https://msdata.visualstudio.com/Database%20Systems/_build?definitionId=10018&_a=summary
- [ ] Click “Run pipeline”
- [ ] Click “Variables”
- [ ] Change `PUBLISH_TO_PACKAGE_REPO` to “true”
- [ ] Go back after doing so and click "Run”
- [ ] Wait until completed.
- [ ] Check if packages are successfully published using below links:
- [ ] 6 new items for the version for Ubuntu (xenial , bionic and focal): [here](https://packages.microsoft.com/repos/citus-ubuntu/pool/main/c/citus-enterprise/)
- [ ] 4 new items for the version for Debian (buster and stretch): [here](https://packages.microsoft.com/repos/citus-debian/pool/main/c/citus-enterprise/) ( for release >9.4 and < 9.5, 4 package is expected. Since 9.5 6 package is expected)
- [ ] 2 new items for the version for CentOS7/RHEL7: [here](https://packages.microsoft.com/yumrepos/citus-centos7/)
- [ ] 2 new items for the version for CentOS8/RHEL8: [here](https://packages.microsoft.com/yumrepos/citus-centos8/)
15 changes: 5 additions & 10 deletions .github/ISSUE_TEMPLATE/citus-packaging-request-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,15 @@
name: Citus release checklist template
about: Please make sure to follow the checklist below along the release process.
title: Citus release checklist - [vX.Y.Z]
labels: release checklist
labels: release_checklist
assignees: gurkanindibay

---

## Several things to note here

These instructions assume you have `$VERSION`, `$PROJECT`, and `$REPO` environment variables set in your shell (e.g. `10.0.2`, `citus`, and `citus`). With those set, code from most steps can be copy-pasted.

**After this checklist, you're still not done: open a release checklist for Enterprise too!**

# Update OS Packages
## Debian and RedHat
- Change your directory to `packaging` repository directory & checkout `all-$PROJECT` branch.
- [ ] Run the pipeline using branch name as all-citus https://github.com/citusdata/packaging/actions/workflows/update_package_properties.yml. Input tag name and if version is fancy, input the fancy version_no. Other parameters could be kept as is if you want
- Change your directory to `packaging` repository directory & checkout `all-citus` branch.
- [ ] Run the pipeline using branch name as all-citus [update_package_properties workflow](https://github.com/citusdata/packaging/actions/workflows/update_package_properties.yml). Input tag name and if version is fancy, input the fancy version_no. Other parameters could be kept as is if you want
- Then check the following (needed for both debian & redhat):
- [ ] Updated `pkglatest` variable in the `pkgvars` file to `$VERSION.citus-1`
- Then check the following (needed for debian):
Expand All @@ -28,6 +22,7 @@ These instructions assume you have `$VERSION`, `$PROJECT`, and `$REPO` environme
- [ ] A new entry (`$VERSION.citus-1`) in the `%changelog` section
- [ ] Get changes reviewed; merge the PR
- [ ] Ensure Github Actions builds completed successfully and package count for each os is as below table and packages in postgres versions is compliant with `postgres-matrix.yml` in the `all-project` branch
https://github.com/citusdata/tools/blob/be12af3b8f435d17a52e607c666f6b15379f5970/packaging_automation/tests/test_citus_package.py#L21-L33

# Update Docker
Note that we create docker images for only the latest version of Citus. So, you don’t need to update it if you are releasing a point version of an older major version.
Expand All @@ -54,7 +49,7 @@ Note that we create docker images for only the latest version of Citus. So, you

# Update PGXN
- [ ] Run https://github.com/citusdata/packaging/actions/workflows/update-pgxn-version.yml on packaging repo, and check the following:
- [ ] Check out the `pgxn-$PROJECT` branch of the [packaging repository](https://github.com/citusdata/packaging)
- [ ] Check out the `pgxn-citus branch of the [packaging repository](https://github.com/citusdata/packaging)
- [ ] All version occurrences are bumped in `META.json`
- [ ] All version occurrences are bumped in `pkgvars`
- [ ] After merging, ensure the Github Actions build completed successfully (a new release should appear in PGXN eventually)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: pg-auto-failover-enterprise release checklist template
about: Please make sure to follow the checklist below along the release process.
title: pg-auto-failover Enterprise release checklist - [vX.Y.Z]
labels: release_checklist
assignees: gurkanindibay

---

# Update OS Packages
## Debian and RedHat
- Change your directory to `packaging` repository directory & checkout `all-pgautofailover-enterprise` branch.
- [ ] Run the pipeline using branch name as all-pgautofailover-enterprise [update_package_properties workflow](https://github.com/citusdata/packaging/actions/workflows/update_package_properties.yml). Input tag name and if version is fancy, input the fancy version_no. Other parameters could be kept as is if you want
- Then check the following (needed for both debian & redhat):
- [ ] Updated `pkglatest` variable in the `pkgvars` file to `$VERSION.citus-1`
- Then check the following (needed for debian):
- [ ] A new entry (`$VERSION.citus-1`, `stable`) is added to the `debian/changelog` file
- Then check the following (needed for redhat):
- [ ] `$PROJECT.spec` file is updated:
- [ ] `Version:` field
- [ ] `Source0:` field
- [ ] A new entry (`$VERSION.citus-1`) in the `%changelog` section
- [ ] Get changes reviewed; merge the PR
- [ ] Ensure Github Actions builds completed successfully and package count for each os is as table in the [link](https://github.com/citusdata/tools/blob/be12af3b8f435d17a52e607c666f6b15379f5970/packaging_automation/tests/test_citus_package.py#L21-L33) and packages in postgres versions is compliant with `postgres-matrix.yml` in the `all-project` branch



## Microsoft Packages

- [ ] Add vso (Visual Studio Online) remote to your local git checkout of the github packaging repo (only needed once):
`git remote add vso [email protected]:v3/msdata/Database%20Systems/citus-packaging`
- [ ] To trigger a test build on Azure DevOps:
`git checkout all-pgautofailover-enterprise`
`git pull # from normal github origin`
`git push vso # update Azure DevOps mirror`
- [ ] [Go here:](https://msdata.visualstudio.com/Database%20Systems/_build?definitionId=10018&_a=summary)
- [ ] Wait for build to succeed. If build does not success, go [here:](https://msdata.visualstudio.com/Database%20Systems/_apps/hub/ms.vss-ciworkflow.build-ci-hub?_a=edit-build-definition&id=10018.)

Maybe you need to update some parameters there (like the tools repo version). Then save it without queuing and then “Run pipeline” again via the first link.
- [ ] Check that it created the right packages by looking at the logs and artifacts (the button with the box/drawer icon and text “8 published”).
- [ ] Click there, and see 7 items in signed packages
centos 6/7/8
debian buster/stretch
ubuntu bionic/xenial
- [ ] Check logs for each of 7 builds, by clicking `View raw log`
- [ ] Go back to the [overview:](https://msdata.visualstudio.com/Database%20Systems/_build?definitionId=10018&_a=summary)
- [ ] Click “Run pipeline”
- [ ] Click “Variables”
- [ ] Change PUBLISH_TO_PACKAGE_REPO to “true”
- [ ] Go back after doing so and click "Run”
- [ ] Wait until completed.
- [ ] Check if packages are successfully published using below links:
- [ ] 6 new items for the version for Ubuntu [(xenial , bionic and focal):](https://packages.microsoft.com/repos/citus-ubuntu/pool/main/c/citus-enterprise/)
- [ ] 4 new items for the version for Debian [(buster and stretch):](https://packages.microsoft.com/repos/citus-debian/pool/main/c/citus-enterprise/ ( for release >9.4 and < 9.5, 4 package is expected. Since 9.5 6 package is expected))
- [ ] 2 new items for the version for [CentOS7/RHEL7: ](https://packages.microsoft.com/yumrepos/citus-centos7/)
- [ ] 2 new items for the version for [CentOS8/RHEL8:](https://packages.microsoft.com/yumrepos/citus-centos8/)
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: pg-auto-failover release checklist template
about: Please make sure to follow the checklist below along the release process.
title: Pg Auto Failover release checklist - [vX.Y.Z]
labels: release_checklist
assignees: gurkanindibay

---

# Update OS Packages
## Debian and RedHat
- Change your directory to `packaging` repository directory & checkout `all-pgautofailover` branch.
- [ ] Run the pipeline using branch name as all-pgautofailover [update_package_properties workflow](https://github.com/citusdata/packaging/actions/workflows/update_package_properties.yml). Input tag name and if version is fancy, input the fancy version_no. Other parameters could be kept as is if you want
- Then check the following (needed for both debian & redhat):
- [ ] Updated `pkglatest` variable in the `pkgvars` file to `$VERSION.citus-1`
- Then check the following (needed for debian):
- [ ] A new entry (`$VERSION.citus-1`, `stable`) is added to the `debian/changelog` file
- Then check the following (needed for redhat):
- [ ] `$PROJECT.spec` file is updated:
- [ ] `Version:` field
- [ ] `Source0:` field
- [ ] A new entry (`$VERSION.citus-1`) in the `%changelog` section
- [ ] Get changes reviewed; merge the PR
- [ ] Ensure Github Actions builds completed successfully and package count for each os is as below table and packages in postgres versions is compliant with `postgres-matrix.yml` in the `all-project` branch
3 changes: 2 additions & 1 deletion .github/workflows/build-citus-community-nightlies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ jobs:
--secret_key "${PACKAGING_SECRET_KEY}" \
--passphrase "${PACKAGING_PASSPHRASE}" \
--output_dir "$(pwd)/packages/" \
--input_files_dir "$(pwd)/packaging"
--input_files_dir "$(pwd)/packaging" \
--output_validation

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed output validation since an erronous commit made nightlies failed so the tasks failed. I think output valdation should not be null in nightlies since some warning in documentation make it failed

- name: Publish packages
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/build-citus-enterprise-nightlies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ jobs:
--secret_key "${PACKAGING_SECRET_KEY}" \
--passphrase "${PACKAGING_PASSPHRASE}" \
--output_dir "$(pwd)/packages/" \
--input_files_dir "$(pwd)/packaging"
--input_files_dir "$(pwd)/packaging" \
--output_validation

- name: Publish packages
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/build-pgaf-enterprise-nightlies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ jobs:
--secret_key "${PACKAGING_SECRET_KEY}" \
--passphrase "${PACKAGING_PASSPHRASE}" \
--output_dir "$(pwd)/packages/" \
--input_files_dir "$(pwd)/packaging"
--input_files_dir "$(pwd)/packaging" \
--output_validation

- name: Publish packages
run: |
Expand Down