Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow propagation #1035

Merged
merged 2 commits into from
Aug 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions .github/ISSUE_TEMPLATE/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
name: 🚀 Release
description: Template for package release
title: "[Release]: <version>"
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.
11 changes: 3 additions & 8 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 🕵️‍♂️
Expand All @@ -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/tern.png
coverage:
Expand All @@ -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:
Expand Down