From ffa723657b776ac4b70a5c447661cfe66db9b6e4 Mon Sep 17 00:00:00 2001 From: Franciszek Walkowiak Date: Thu, 17 Aug 2023 16:34:15 +0200 Subject: [PATCH 1/3] Workflow propagation --- .github/ISSUE_TEMPLATE/release.yaml | 107 ++++++++++++++++++++++++++++ .github/workflows/check.yaml | 11 +-- 2 files changed, 110 insertions(+), 8 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/release.yaml diff --git a/.github/ISSUE_TEMPLATE/release.yaml b/.github/ISSUE_TEMPLATE/release.yaml new file mode 100644 index 00000000..25518b42 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/release.yaml @@ -0,0 +1,107 @@ +--- +name: 🚀 Release +description: Template for package release +title: "[Release]: " +labels: ["release"] +assignees: + - KlaudiaBB + - cicdguy +body: + - type: markdown + attributes: + value: | + ⚠️ Please do not link or mention any internal references in this issue. This includes internal URLs, intellectual property and references. + - type: textarea + id: blocked-by + attributes: + label: Blocked by + description: Any PRs or issues that this release is blocked by. + placeholder: Add a list of blocking PRs or issues here. + value: | + ### PRs + + - [ ] PR 1 + + ### Issues + + - [ ] Issue 1 + validations: + required: true + - type: textarea + id: pre-requisites + attributes: + label: Pre-requisites + description: Pre-requisites that must be fulfilled before initiating the release process. + placeholder: Add your list of pre-requisites here. + value: | + - [ ] Make sure that high priority bugs (label "priority" + "bug") have been resolved before going into the release. + - [ ] Review old/hanging PRs before going into the release. + - [ ] Revisit R-package's lifecycle badges (Optional). + - [ ] Discuss package dependencies before going into release activities. + - [ ] Create a plan to sequentially close release activities and submit groups of packages for internal validation (Applicable only for regulatory release). + - [ ] Make sure all relevant integration tests are green 2-3 days before the release. Look carefully through logs (check for warnings and notes). + - [ ] Check if a package is installable on our supported internal systems (Optional). + - [ ] Inform about the soft code freeze, decide what gets merged in before starting release activities. + - type: textarea + id: release-checklist + attributes: + label: Release Checklist + description: The steps to be taken in order to create a release. + placeholder: Steps to create a release. + value: | + - [ ] Recurring tasks: Execute the manual tests on Shiny apps that are deployed on various hosting providers (Posit connect and shinyapps.io) - track the results in GitHub issue (Applicable only for frameworks that use Shiny). + - [ ] Recurring tasks: Monitor integration tests, if integration fails, create priority issues on the board. + - [ ] Sanity checks for Shiny applications e.g. checking if Shiny apps are deployable and making sure there are no errors/warnings. + - [ ] Update NEWS.md file: make sure it reflects a holistic summary of what has changed in the package, check README. + - [ ] Remove the additional fields (`Remotes` and `Config/Needs/*`) from the DESCRIPTION file where applicable. + - [ ] Make sure that the minimum dependency versions are updated in the DESCRIPTION file for the package. + - [ ] Increase versioned dependency on {package name} to >=X.X.X. + - [ ] Create a pull request to make necessary bug fixes/changes (add "[skip vbump]" in the PR title), and after merging the PR, tag the update(s) as a release candidate v < intended release version > -rc < release candidate iteration > on the main branch. Note that tags are created in GitHub and synchronized with GitLab automatically. + - [ ] The package is submitted for internal validation by Release Coordinator (Applicable only for regulatory release). + - [ ] Address any feedback (internal validation/user testing), retag the package as a release candidate vX.X.X-rc(n+1). Repeat the submission for internal validation if necessary. + - [ ] Get the package validated (Applicable only for regulatory release). + - [ ] If the additional fields were removed, add them back in a separate PR, and then merge the PR back to main (add "[skip vbump]" in the PR title). + - [ ] Create a git tag with the final version set to X.X.X on the main branch. + - [ ] Update downstream package dependencies to (>=X.X.X) in {package name}. + - type: textarea + id: testing + attributes: + label: Testing + description: Summary of testing activities - integration tests, UAT, other. + placeholder: Tests results + value: | + - [ ] Integration tests results - accepted. + - [ ] UAT results - accepted. + - [ ] Shiny apps test results - accepted (Applicable only for Shiny apps). + - [ ] Necessary testing on target environment - performed (up to ETL). + - type: textarea + id: feedback + attributes: + label: Release Feedback + description: Feedback received from internal validation/UAT testers. + placeholder: Feedback to be implemented after submission for internal validation/testing. + value: | + - [ ] Fix 1 + - [ ] Enhancement 1 + - [ ] Defect 1 + - type: textarea + id: post-release + attributes: + label: Post-release Checklist + description: The list of activities to be completed after the release. + placeholder: The steps that must be taken after the release. + value: | + - [ ] Make sure that the package is published to internal repositories (Validated and/or Non-Validated repository). + - [ ] Review and update installation instructions for the package if needed. + - [ ] Verify if a new dev version (.9XXX) has been added to the NEWS.md file and DESCRIPTION file as a placeholder for release notes by automation. + - [ ] Make sure internal documentation/documentation catalogs are up to date. + - [ ] Notify the IDR team to start post-release/clean-up activities. + - [ ] Announce the release on ________. + - type: textarea + id: decision-tree + attributes: + label: Decision tree + description: Any decision tree(s) that would aid release management + placeholder: Any decision tree(s) that would aid release management. + value: | + Click [here](https://github.com/insightsengineering/.github/blob/main/.github/ISSUE_TEMPLATE/RELEASE_DECISION_TREE.md) to see the release decision tree. diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 1e2be1da..cd31015e 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -15,13 +15,6 @@ on: - main workflow_dispatch: - # Rerun workflows once pkgdown has finished running, to add coverage - # and unit test report to gh-pages branch. - workflow_run: - workflows: ["Docs 📚"] - types: - - completed - jobs: audit: name: Audit Dependencies 🕵️‍♂️ @@ -41,6 +34,9 @@ jobs: checking R code for possible problems .* NOTE checking examples .* NOTE checking Rd line widths .* NOTE + checking S3 generic/method consistency .* NOTE + checking Rd .usage sections .* NOTE + checking for unstated dependencies in vignettes .* NOTE unit-test-report-brand: >- https://raw.githubusercontent.com/insightsengineering/hex-stickers/main/thumbs/teal.png coverage: @@ -63,7 +59,6 @@ jobs: name: gitleaks 💧 uses: insightsengineering/r.pkg.template/.github/workflows/gitleaks.yaml@main spelling: - if: github.event_name != 'push' name: Spell Check 🆎 uses: insightsengineering/r.pkg.template/.github/workflows/spelling.yaml@main links: From e216ea3f3b4641099c209dd20aff222a34018e59 Mon Sep 17 00:00:00 2001 From: Franciszek Walkowiak Date: Thu, 17 Aug 2023 16:41:32 +0200 Subject: [PATCH 2/3] Workflow propagation --- .github/ISSUE_TEMPLATE/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/release.yaml b/.github/ISSUE_TEMPLATE/release.yaml index 25518b42..1d97dff5 100644 --- a/.github/ISSUE_TEMPLATE/release.yaml +++ b/.github/ISSUE_TEMPLATE/release.yaml @@ -55,7 +55,7 @@ body: - [ ] Update NEWS.md file: make sure it reflects a holistic summary of what has changed in the package, check README. - [ ] Remove the additional fields (`Remotes` and `Config/Needs/*`) from the DESCRIPTION file where applicable. - [ ] Make sure that the minimum dependency versions are updated in the DESCRIPTION file for the package. - - [ ] Increase versioned dependency on {package name} to >=X.X.X. + - [ ] Increase versioned dependency on {package name} to >=X.X.X. - [ ] Create a pull request to make necessary bug fixes/changes (add "[skip vbump]" in the PR title), and after merging the PR, tag the update(s) as a release candidate v < intended release version > -rc < release candidate iteration > on the main branch. Note that tags are created in GitHub and synchronized with GitLab automatically. - [ ] The package is submitted for internal validation by Release Coordinator (Applicable only for regulatory release). - [ ] Address any feedback (internal validation/user testing), retag the package as a release candidate vX.X.X-rc(n+1). Repeat the submission for internal validation if necessary. From a19f78f5cd0ff9d9ee1fad25b6b777a229670641 Mon Sep 17 00:00:00 2001 From: Franciszek Walkowiak Date: Fri, 18 Aug 2023 12:52:23 +0200 Subject: [PATCH 3/3] Use token in spelling workflow --- .github/workflows/check.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index cd31015e..2dd9646c 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -61,6 +61,8 @@ jobs: spelling: name: Spell Check 🆎 uses: insightsengineering/r.pkg.template/.github/workflows/spelling.yaml@main + secrets: + REPO_GITHUB_TOKEN: ${{ secrets.REPO_GITHUB_TOKEN }} links: if: github.event_name != 'push' name: Check URLs 🌐