Closed fernandofloresg closed 3 days ago
Hi,
I'm part of the Ansible Partner Team at Red Hat.
It looks like 1.9.4
go published to Automation Hub within the past day. Given the (7) Release tasks
section above, was this done by mistake?
FYI @epacific1 @anweshadas
Hi @gundalow, it is not a mistake. Is there an issue with it?
If you are asking because of ansible-lint errors on upload, the version 1.9.x was out before ansible-lint and galaxy-importer had been updated, it was agreed that we would not make the large back ports to address these issues, such issues are fixed in v1.10.0 or later.
Just checking as we'd seen v1.11 (2 months ago) as the previous release in Hub. 1.9.4 (1 day ago) 1.9.3 (24 days ago) 1.9.2 (3 months ago)
So it looks like you are releasing the 1.9.x series AND a newer version at the same time.
That's fine, just wanted to check which release should appear on Catalogue
Is it right that you have pushed a release before it's been tagged?
We just wanted to check as the previous release in Hub was
Yes that is correct. We provide support to each version after is made generally available (GA) up to two years unless a dependency reaches EOL prior to the 2 years, for 1.9.x we still have 5 months of support, but we don't expect any further patches unless is a critical issue.
We will release both v1.11.1 and v1.12.0 soon too, the release displayed on catalogue should be the greatest, at least for this collection. So is ok to keep v1.11.0.
Release is tagged in GitHub after the release has been uploaded to AAP and Galaxy, that is the next step in the release process actually, so I will do that today.
Thanks for reaching out.
Release new version 1.9.4 with #1780 changes in place.
Release Requirements Checklist
This checklist is a chronological ordering of the release tasks to complete for an IBM Ansible z/OS core collection. This template is for a GA release that will release to Ansible Automation Platform and Galaxy as well. If you are following this issue, note that the version number is subject to change based on the certification outcome.
By this point the
stagging-v<version>
had been code frozen and releases tasks must only be meta data related, for example, updating galaxy.yml, runtime.yml, generating module doc if needed, release notes etc.You should be checking off each task as it completes.
General workflow
This a subsequent release (not a patch) thus these releases tasks will eventually be merged into
main
and intodev
to allow for the meta data updates to propagate as well as the release tag.(1) Technical Writer Tasks
(2) Release Tasks for
release-tasks-v<version>
branch:galaxy.yml
meta/runtime.yml
meta/ibm_zos_core_meta.yml
README.md
.ansible-lint
config such thatgalaxy.yml
andbuild_ignore
entries are in sync./changelog
directory for this release:v1.6.0_summary.yml
ibm_zos_core/changelogs/fragments/
antsibull-changelog lint
antsibull-changelog release
orantsibull-changelog release -v
docs/source/release_notes.rst
)pymarkdownlnt scan README.md
(3) Quality assurance
[x] Run a Mend scan and check the results into the designated repository
release-tasks-v<version>
branch provides opportunity to make last minute changes if needed.[x] Run a Bandit scan and check the results into the designated repository
[x] Ansible-lint validation , manual step at the moment, choose from one of the below to run ansible-lint:
[x] Sanity tests, use the pipeline option and choose to run only the sanity tests by checking
ANSIBLE_TEST_ONLY
which specifies only Ansible Certification tests and security scan run, meaning no functional tests run." As a backup option, you can use the./ac
tool with similar options./ac --ac-sanity --version 3.10
to run sanity.[x] Run the galaxy importer (currently a manual step as its not part of the pipeline yet)
[x]
python -m galaxy_importer.main ibm-ibm_zos_core-<version>.tar.gz
. You can perform this with commands:[x] Full pipeline regression at 100% success on either
release-tasks-v<version>
orstagging-v<version>
:ansible-core v2.15.x
or latest supported by Ansible Automation PlatformRUN_ALL_TESTS
is selected(5) Validation
staging-v<version>
branch, unpack it up, inspect the contents. Ensure only the required files are contained in the package.staging-v<version>
. This first build test is to alert you to any issues that might need to be made before opening a pull request.(6) GitHub
staging-v<version>
againstmain
.staging-v<version>
branch by uploading it to the Ansible development Galaxy Server. (Do not merge the pull request till after AAP and Galaxy success.)(7) Release tasks (In this order)
staging-v<version>
againstmain
and DO NOT delete thestaging-v<version>
branch, you will need thestaging-v<version>
branch soon enough.v<version>
, egv1.6.0
main
release-v<version>
, egrelease-v1.6.0
doc/source/release_notes.rst
, you may need to remove trailing_
from the RST you paste since the description is supposed to be Markdown.stagging-v<version>
changes intodev
to ensure any fixes and meta are propagated upstream. There are different ways to do this, I find a merge ends up complicating things becausedev
will have received an entire quarters of changes and now old changes are pushed upstream. Generally, when performing the release tasks from bullet (2), I commit each separately so that I can cherry pick them later.All that should change is metadata , eggalaxy.yml
,release_notes.rst
, etc, no source. In case there is a source change, separate commits makes it easy to cherry pick. Optionally (usually what i do), you can cherry pick the PR which will have by default squashed all the individual commits. For example, if you want to cherry-pick the squashed PR, get the commit id from the PR then perform the following commands:(8) Log collection
git log --pretty=oneline
) into the release folder