From ac040f2f01130c3e741f868e0819cd4d83d87ca6 Mon Sep 17 00:00:00 2001 From: Mario Lenz Date: Mon, 16 Jan 2023 11:39:47 +0100 Subject: [PATCH] Some scripts to generate Bullhorn announcements (#183) * Some scripts to generate Bullhorn announcements * community_topics_workflow.md: Link to scripts --- community_topics_workflow.md | 4 +++ scripts/README.md | 42 ++++++++++++++++++++++++ scripts/collection_inclusion/bullhorn.sh | 25 ++++++++++++++ scripts/removal_process/bullhorn_1st.sh | 12 +++++++ scripts/removal_process/bullhorn_2nd.sh | 10 ++++++ scripts/removal_process/bullhorn_3rd.sh | 12 +++++++ scripts/removal_process/repo_issue.sh | 13 ++++++++ 7 files changed, 118 insertions(+) create mode 100644 scripts/README.md create mode 100755 scripts/collection_inclusion/bullhorn.sh create mode 100755 scripts/removal_process/bullhorn_1st.sh create mode 100755 scripts/removal_process/bullhorn_2nd.sh create mode 100755 scripts/removal_process/bullhorn_3rd.sh create mode 100755 scripts/removal_process/repo_issue.sh diff --git a/community_topics_workflow.md b/community_topics_workflow.md index 3863089..dae8f6c 100644 --- a/community_topics_workflow.md +++ b/community_topics_workflow.md @@ -66,3 +66,7 @@ After a topic is created, a Steering Committee member (hereinafter `Committee pe - [ ] Checks if there's a corresponding milestone in the [ansible-build-data](https://github.com/ansible-community/ansible-build-data/milestones) repository. If there's no milestone, the person creates it. - [ ] Creates an issue in ansible-build-data that references the topic in community-topics, and adds it to the milestone. - [ ] A Committee person moves the topic to the `Resolved` column on the [Board](https://github.com/orgs/ansible-community/projects/2/views/5) and closes the topic. + +### Tools + +We have some [scripts](https://github.com/ansible-community/community-topics/tree/main/scripts) that can be used to create Ansible community announcements on Bullhorn and similar. diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 0000000..da65a47 --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,42 @@ +# Ansible Community Scripts +Some scripts that can be used to create Ansible community announcements on [Bullhorn](https://github.com/ansible/community/wiki/News#the-bullhorn) and similar. + +## Collection inclusion process +Announce the inclusion of a new collection on Bullhorn: + +```shell +collection_inclusion/bullhorn.sh dellemc.unity https://galaxy.ansible.com/dellemc/unity rajendraindukuri https://github.com/rajendraindukuri anupamaloke https://github.com/anupamaloke +``` + +## Collection removal process +Create an issue in the collection's repository: + +```shell +# removal_process/repo_issue.sh +usage: removal_process/repo_issue.sh collection_name communiy_topic ansible_version +# removal_process/repo_issue.sh cisco.nso https://github.com/ansible-community/community-topics/issues/155 9 +``` + +Announce on Bullhorn that the collection looks unmaintained: + +```shell +# removal_process/bullhorn_1st.sh +usage: removal_process/bullhorn_1st.sh collection_name collection_repo communiy_topic repo_issue ansible_version +# removal_process/bullhorn_1st.sh cisco.nso https://github.com/CiscoDevNet/ansible-nso https://github.com/ansible-community/community-topics/issues/155 https://github.com/CiscoDevNet/ansible-nso/issues/10 9 +``` + +Announce the vote to remove the collection on Bullhorn: + +```shell +# removal_process/bullhorn_2nd.sh +usage: removal_process/bullhorn_2nd.sh bullhorn_issue collection_name vote ansible_version +# removal_process/bullhorn_2nd.sh 79 cisco.nso https://github.com/ansible-community/community-topics/discussions/165 9 +``` + +Announce upcoming removal on Bullhorn: + +```shell +# removal_process/bullhorn_3rd.sh +usage: removal_process/bullhorn_3rd.sh collection_name community_topic ansible_version +# removal_process/bullhorn_3rd.sh cisco.nso https://github.com/ansible-community/community-topics/issues/155 9 +``` diff --git a/scripts/collection_inclusion/bullhorn.sh b/scripts/collection_inclusion/bullhorn.sh new file mode 100755 index 0000000..a24b6cf --- /dev/null +++ b/scripts/collection_inclusion/bullhorn.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# bullhorn.sh collection github-repo contributor1 contributor1_profile [contributor2 contributor2_profile ...] + +if [ $# -lt 4 ] || [ $(($# % 2)) -ne 0 ] +then + echo "usage: $0 collection_name collection_repo contributor1 contributor1_profile [contributor2 contributor2_profile ...]" + exit 1 +fi + +echo -n "The [$1]($2) collection has passed the [Collection inclusion procedure](https://github.com/ansible-collections/ansible-inclusion#readme) and will be included in the next minor release of Ansible. Thanks to [$3]($4)" + +shift 4 + +while [ $# -gt 2 ] +do + echo -n ", [$1]($2)" + shift 2 +done + +if [ $# -gt 0 ] +then + echo -n " and [$1]($2)" +fi + +echo " for the contribution!" diff --git a/scripts/removal_process/bullhorn_1st.sh b/scripts/removal_process/bullhorn_1st.sh new file mode 100755 index 0000000..93cc33c --- /dev/null +++ b/scripts/removal_process/bullhorn_1st.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# bullhorn_1st.sh collection github-repo community-topic repo-issue version + +if [ $# -ne 5 ] +then + echo "usage: $0 collection_name collection_repo communiy_topic repo_issue ansible_version" + exit 1 +fi + +echo "It looks like the [$1]($2) collection is effectively unmaintained. According to the current [community guidelines for collections](https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#unmaintained-collections), we consider removing it in a future version of the Ansible community package. Please see [Unmaintained collection: $1]($3) for more information or to announce that you're interested in taking over the maintenance of (a fork of) \`$1\`. + +At least one month after this announcement appears here and in the [collection's issue tracker]($4), the Ansible Community Steering Committee will vote on whether this collection is considered unmaintained and will be removed, or whether it will be kept. If it will be removed, this will happen earliest in Ansible $5. Please note that you can still manually install the collection with \`ansible-galaxy collection install $1\` even when it has been removed from Ansible." diff --git a/scripts/removal_process/bullhorn_2nd.sh b/scripts/removal_process/bullhorn_2nd.sh new file mode 100755 index 0000000..bf8079e --- /dev/null +++ b/scripts/removal_process/bullhorn_2nd.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# bullhorn_2nd.sh collection community-topic version + +if [ $# -ne 4 ] +then + echo "usage: $0 bullhorn_issue collection_name vote ansible_version" + exit 1 +fi + +echo "As mentioned in [The Bullhorn #$1](https://mailchi.mp/redhat/the-bullhorn-$1), we consider \`$2\` an effectively unmaintained collection. Therefore, we've opened a community / steering committee [vote]($3) on removing it from the Ansible $4 community package." diff --git a/scripts/removal_process/bullhorn_3rd.sh b/scripts/removal_process/bullhorn_3rd.sh new file mode 100755 index 0000000..ac99e31 --- /dev/null +++ b/scripts/removal_process/bullhorn_3rd.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# bullhorn_3nd.sh collection community-topic version + +if [ $# -ne 3 ] +then + echo "usage: $0 collection_name community_topic ansible_version" + exit 1 +fi + +echo "The \`$1\` collection [is considered unmaintained]($2) and will be removed from Ansible $3 if no one starts maintaining it again before Ansible $3. See [the removal process for details on how this works](https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#cancelling-removal-of-an-unmaintained-collection). + +Please note that you can still manually install the collection with \`ansible-galaxy collection install $1\` even when it has been removed from Ansible." diff --git a/scripts/removal_process/repo_issue.sh b/scripts/removal_process/repo_issue.sh new file mode 100755 index 0000000..bef4e76 --- /dev/null +++ b/scripts/removal_process/repo_issue.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# repo_issue.sh collection community-topic version + +if [ $# -ne 3 ] +then + echo "usage: $0 collection_name communiy_topic ansible_version" + exit 1 +fi +echo "Unmaintained collection: Removal from Ansible (communtiy) package + +It looks like this collection is effectively unmaintained. According to the current [community guidelines for collections](https://github.com/ansible-collections/overview/blob/main/removal_from_ansible.rst#unmaintained-collections), we will consider removing it in a future version of the Ansible community package. Please see [Unmaintained collection: $1]($2) for more information. + +At least one month after this announcement appears here and on [Bullhorn](https://github.com/ansible/community/wiki/News#the-bullhorn), the Ansible Community Steering Committee will vote on whether this collection is considered unmaintained and will be removed, or whether it will be kept. If it will be removed, this will happen earliest in Ansible $3. Please note that people can still manually install the collection with \`ansible-galaxy collection install $1\` even when it has been removed from Ansible."