diff --git a/.github/ISSUE_TEMPLATE/citus-enterprise-release-checklist-template.md b/.github/ISSUE_TEMPLATE/citus-enterprise-release-checklist-template.md new file mode 100644 index 000000000..3afa01105 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/citus-enterprise-release-checklist-template.md @@ -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. + - 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 +- [ ] 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 + +## 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 msdata@vs-ssh.visualstudio.com: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/) diff --git a/.github/ISSUE_TEMPLATE/citus-packaging-request-template.md b/.github/ISSUE_TEMPLATE/citus-packaging-request-template.md index 28480eb5d..c8b00881c 100644 --- a/.github/ISSUE_TEMPLATE/citus-packaging-request-template.md +++ b/.github/ISSUE_TEMPLATE/citus-packaging-request-template.md @@ -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): @@ -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. @@ -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) diff --git a/.github/ISSUE_TEMPLATE/pg-auto-failover-enterprise-release-checklist-template.md b/.github/ISSUE_TEMPLATE/pg-auto-failover-enterprise-release-checklist-template.md new file mode 100644 index 000000000..3f2d2e69b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/pg-auto-failover-enterprise-release-checklist-template.md @@ -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 msdata@vs-ssh.visualstudio.com: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/) diff --git a/.github/ISSUE_TEMPLATE/pg-auto-failover-release-checklist-template.md b/.github/ISSUE_TEMPLATE/pg-auto-failover-release-checklist-template.md new file mode 100644 index 000000000..18095a93e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/pg-auto-failover-release-checklist-template.md @@ -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 diff --git a/.github/workflows/build-citus-community-nightlies.yml b/.github/workflows/build-citus-community-nightlies.yml index d2803db19..65882449e 100644 --- a/.github/workflows/build-citus-community-nightlies.yml +++ b/.github/workflows/build-citus-community-nightlies.yml @@ -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 - name: Publish packages run: | diff --git a/.github/workflows/build-citus-enterprise-nightlies.yml b/.github/workflows/build-citus-enterprise-nightlies.yml index b1026f593..d4864313c 100644 --- a/.github/workflows/build-citus-enterprise-nightlies.yml +++ b/.github/workflows/build-citus-enterprise-nightlies.yml @@ -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: | diff --git a/.github/workflows/build-pgaf-enterprise-nightlies.yml b/.github/workflows/build-pgaf-enterprise-nightlies.yml index d88bea21a..170674c58 100644 --- a/.github/workflows/build-pgaf-enterprise-nightlies.yml +++ b/.github/workflows/build-pgaf-enterprise-nightlies.yml @@ -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: |