diff --git a/.github/ISSUE_TEMPLATE/_default.md b/.github/ISSUE_TEMPLATE/_default.md new file mode 100644 index 000000000..cfc50f0c2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/_default.md @@ -0,0 +1,10 @@ +--- +name: Generic issue +about: Issue / feature for infrastructure, release and CI +--- + + diff --git a/.github/ISSUE_TEMPLATE/bump_libraries.md b/.github/ISSUE_TEMPLATE/bump_libraries.md new file mode 100644 index 000000000..06b633b29 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bump_libraries.md @@ -0,0 +1,36 @@ +--- +name: Bump libraries +about: Checklist when bumping major versions in a collection +title: "Bump in [COLLECTION]: [LIBRARIES]" +--- + + + +Libraries being bumped: + + + +* : + - [ ] Source code of all downstream libraries ([example](https://github.com/ignitionrobotics/ign-transport/pull/149)) + - [ ] Release repositories of all downstream libraries ([example](https://github.com/ignition-release/ign-fuel-tools7-release/pull/1)) + - [ ] Use `main` branch on `gazebodistro` ([example](https://github.com/ignition-tooling/gazebodistro/pull/42)) + - [ ] Build nightlies from the `main` branch ([example](https://github.com/ignition-tooling/release-tools/pull/437)) + - [ ] Update gzdev to use nightlies on CI ([example](https://github.com/ignition-tooling/gzdev/pull/31)) + - [ ] homebrew-simulation: create formula and update dependencies ([example](https://github.com/osrf/homebrew-simulation/pull/14230)) + - [ ] docs (the collection’s page) ([example](https://github.com/ignitionrobotics/docs/pull/175)) +* diff --git a/.github/ISSUE_TEMPLATE/eol_collection.md b/.github/ISSUE_TEMPLATE/eol_collection.md new file mode 100644 index 000000000..a201cedcd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/eol_collection.md @@ -0,0 +1,25 @@ +--- +name: EOL collection +about: Checklist when a collection reaches end-of-life +title: "EOL collection: " +--- + + + +- [ ] Check library versions that can be EOL’d on the [versions table](https://github.com/ignitionrobotics/docs/blob/master/tools/versions.md) + * +- [ ] Make releases with outstanding changes in each library about to be EOl'ed +- [ ] Archive release repos for all libraries after the last release has been made +- [ ] Update docs ([example](https://github.com/ignitionrobotics/docs/pull/124)) +- [ ] Update release-tools ([example](https://github.com/ignition-tooling/release-tools/pull/369)) +- [ ] Deprecate homebrew bottles ([example](https://github.com/osrf/homebrew-simulation/pull/1242)) +- [ ] Remove from buildfarmer ([dashboard](https://github.com/osrf/buildfarmer/pull/140) / [report](https://github.com/osrf/buildfarmer/pull/146)) +- [ ] Remove from `pr-collection-labeler` ([example](https://github.com/ignition-tooling/pr-collection-labeler/pull/13)) + diff --git a/.github/ISSUE_TEMPLATE/new_collection.md b/.github/ISSUE_TEMPLATE/new_collection.md new file mode 100644 index 000000000..394bd2231 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new_collection.md @@ -0,0 +1,25 @@ +--- +name: New collection +about: Checklist when creating a new collection +title: "New collection: " +--- + + + +- [ ] Create `gazebodistro` file for new collection ([example](https://github.com/ignition-tooling/gazebodistro/pull/11)) +- [ ] Create `ign-` and `ign--release` repositories ([example source](https://github.com/ignitionrobotics/ign-edifice), [example release](https://github.com/ignition-release/ign-edifice-release)) +- [ ] Create homebrew-simulation formula for new collection ([example](https://github.com/osrf/homebrew-simulation/pull/1173)) +- [ ] Create collection view on release-tools and build nightlies ([example](https://github.com/ignition-tooling/release-tools/pull/422/files)) +- [ ] Add collection to buildfarmer dashboard ([example](https://github.com/osrf/buildfarmer/pull/183)) / scripts ([example](https://github.com/osrf/buildfarmer/pull/184)) +- [ ] Add docs for new collection ([example](https://github.com/ignitionrobotics/docs/pull/95)) +- [ ] Add new collection label: + - [ ] Add to pr-collection-labeler ([example](https://github.com/ignition-tooling/pr-collection-labeler/pull/11)) + - [ ] Add to all libraries ([handy script](https://github.com/chapulina/github-label-maker/tree/chapulina/ign#ignition)) +- [ ] Add new collection tag to Gazebo Answers [here](https://answers.gazebosim.org/settings/FORUM_DATA_RULES/) diff --git a/.github/ISSUE_TEMPLATE/release_collection.md b/.github/ISSUE_TEMPLATE/release_collection.md new file mode 100644 index 000000000..cbf9d516c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/release_collection.md @@ -0,0 +1,102 @@ +--- +name: Release collection +about: Checklist when releating a new collection +title: "Release [COLLECTION]" +--- + + + +## During development + +- [ ] Bump major version of libraries early in the development cycle (use [bump_libraries](bump_libraries.md) template). +- [ ] Work with artist on logo. + +## Feature freeze + +- [ ] Choose name for next release. +- [ ] Merge each library forward from previous versions +- [ ] Label pull requests being considered to enter release with [beta](https://github.com/search?q=org%3Aignitionrobotics+label%3Abeta&state=open) + Pull requests opened against the new collection after then: + - Bug fixes: will be considered for the initial release and labeled `beta` + - New features: will not be considered for the initial release. +- [ ] Pre-release libraries as all `beta` labels are merged. +- [ ] Make collection pre-release after all libraries are pre-released. +- [ ] Update public documentation to install from pre-releases instead of nightlies. + +## Code freeze + +- [ ] Start T-Shirt campaign +- [ ] Hold tutorial party ([example](https://community.gazebosim.org/t/ignition-edifice-tutorial-party-support-open-source-and-get-t-shirts/866)) +- [ ] PRs fixing documentation and critical bugs can be merged and pre-released +- As libraries have all their documentation reviewed: + - [ ] Create stable branches off of main + - [ ] Make stable releases + +## Release day + +- [ ] Make collection stable release after all libraries are released. +- [ ] Update `gazebodistro` ([example](https://github.com/ignition-tooling/gazebodistro/pull/31)) +- [ ] Make GitHub releases for all the X.0.0 versions ([example](https://github.com/ignitionrobotics/ign-transport/releases/tag/ignition-transport9_9.0.0)) +- [ ] Update docs to say release is stable ([example](https://github.com/ignitionrobotics/docs/pull/171)) +- [ ] Make announcement + +## Post-release + +- [ ] Enable Jenkins CI for new stable branches ([example](https://github.com/ignition-tooling/release-tools/pull/299)) +- [ ] Remove nightlies for release branches on `gzdev` ([example](https://github.com/ignition-tooling/gzdev/pull/19)) +- [ ] Bump all `main` branches to the next major versioni (`X.0.0~pre1`) + - [ ] Source code ([example](https://github.com/ignitionrobotics/ign-common/pull/193)) + - [ ] Add files to `gazebodistro` ([example](https://github.com/ignition-tooling/gazebodistro/pull/12)) + - [ ] Add aliases to `homebrew-simulation` ([example](https://github.com/osrf/homebrew-simulation/commit/1f8602af6f52e06e0542eebfbdbe97f5f6cf950c)) + - [ ] Create new `-release` repositories (use [this script](https://github.com/ignition-tooling/release-tools/blob/master/release-repo-scripts/new_ignition_release_repos.bash)) + + +If the collection will be officially paired with a ROS 2 distro: + +- [ ] Update REP-2000 when ROS 2 distro is added ([example](https://github.com/ros-infrastructure/rep/pull/291)) +- [ ] Import stable releases into https://packages.ros.org ([example](https://github.com/ros-infrastructure/reprepro-updater/pull/109)) +- [ ] Add new rosdep keys ([example](https://github.com/ros/rosdistro/pull/29176)) +- [ ] Bloom-release `ros_ign` with the new version into Rolling before fork ([example](https://github.com/ros/rosdistro/pull/29192)) + +# Status tracker + +Track stable release of metapackage `ignition-`. + +* :hourglass: TODO +* :yellow_circle: waiting in the buildfarm +* :green_circle: in the repo +* :red_circle: requires action +* :black_circle: no release + +### Linux + + * **Ubuntu:** + - [ ] :hourglass: Focal/amd64 + - [ ] :hourglass: Bionic/amd64 + - [ ] :hourglass: Bionic/i386 + - [ ] :hourglass: Focal/arm64 + - [ ] :hourglass: Bionic/arm64 + + * **Debian:** + - [ ] :hourglass: Buster/i386 + - [ ] :hourglass: Buster/amd64 + - [ ] :hourglass: Sid/\*: + - [ ] :hourglass: Buster/arm64 + - [ ] :hourglass: Buster/armhf (raspbian) + +### MacOSX + +* **Brew** + - [ ] :hourglass: Bottles + +### Windows + +* **Conda-forge** (community effort) + - [ ] :hourglass: