Skip to content

Commit

Permalink
chore: sync files with Jahia/.github [skip ci] (#25)
Browse files Browse the repository at this point in the history
  • Loading branch information
jahia-ci authored Jan 7, 2025
1 parent 90d92de commit 6664cf1
Show file tree
Hide file tree
Showing 11 changed files with 366 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# WARNING: This template file is coming from the .github repository
# Only edit the file there
# Documentation: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
# Syntax: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema

name: Bug Report
description: File a bug report.
title: "[BUG] <title>"
labels: ["need-triage"]
type: Bug
projects: ["Jahia/13"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
attributes:
label: Environment and versions used
description: In a list, detail all of the software components and versions needed to reproduce the issue (Jira Version, Modules installed, modules version, ...). If using a SNAPSHOT, please provide the Commit hash.
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: In a list, details the steps needed to reproduce the issue. Please provide, as far as possible, a minimal reproducible scenario.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
14. See error...
validations:
required: true
- type: textarea
attributes:
label: Current Behavior
description: A description of the current behavior, including logs (server-side, browser) & stack trace, screenshots/videos, link to CI execution
validations:
required: true
- type: textarea
attributes:
label: Desired Behavior
description: Describe the expected behavior and how it differs from current behavior.
validations:
required: true
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# WARNING: This template file is coming from the .github repository
# Only edit the file there

blank_issues_enabled: false
contact_links:
- name: Jahia Customer Support
url: https://support.jahia.com
about: For customer support inquiries, please visit our support portal. Our support team is not monitoring GitHub issues.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/epic.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Epic
about: Create an epic
title: ''
type: Epic
projects: ["Jahia/18"]

---

**As a**

**I want to**

**In order to**

### Non-functional requirements
- Security
- Identity management
- Authentication
- Authorization
- Session management
- Data validation
- Error handling
- Performances
- Migration
- Documentation
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/other.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
name: Other
about: Create a GitHub issue without using a template
title: ''
labels: need-triage
type: Task

---
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
name: Release
about: Create a release
title: ''
type: Task

---

## Minimum Jahia Version

> We aim at reducing the possible deployment matrices by regularly bumping up the minimum Jahia version when releasing new versions of our modules.
When creating a Release ticket for a module, consult with your PM to identify the new minimum Jahia version this module must be associated with.
The default guideline is for a new module release to be compatible with the 2 previous releases.

Current Jahia Version: 8.X.X.X (version currently in the POM)
Desired Jahia Version: 8.X.X.X

## Testing matrix

> We aim at clearly documenting the possible deployment scenarios in a matrix and specify which ones are expected to be tested or not.
In the testing matrix, always use the latest patch version of a particular release

|To Test (YES/NO)|Jahia Version|Dependency A|Dependency B|PASS / FAIL|
|---|---|---|---|---|
|YES / NO|8.1.1.2|1.0.0|3.0.0| |
|YES / NO|8.1.7.1|2.0.0|3.0.0| |

:information_source: If you are releasing for the main branch of a module, make sure to complete the checklist below when working on the ticket.

## Prepare Checklist

- [ ] All other tickets with that fixVersion are closed
- [ ] Testing matrix and Minimum Jahia version are detailed
- [ ] Jahia-parent (minimum Jahia version) was updated if requested in the ticket
- [ ] The release workflow will [publish](https://github.com/Jahia/sandbox/commit/9a6ab10c8fbe5e11eb7fe3c6b391be2be776319b) a slack notification

## Tests Checklist

General
- [ ] Manual tests detailing testing steps for validating the release of this module are present on Testrail
- [ ] Automated tests using the release artifacts were executed

Module migration
- [ ] Upgrade from the previous released version of the module was tested
- [ ] The upgrade did not require clearing the browser cache (i.e. missing labels)

While Testing
- [ ] No warnings or errors are present in the browser console when testing the module
- [ ] No warnings or errors are present in Jahia logs when testing the module (incl. migration)
- [ ] Verified tickets present in the release are actually included in the release artifact

After Testing
- [ ] Tested combinations (Jahia versions, modules versions) are listed in this released ticket
- [ ] Tested scenarios not detailed in Testrail are listed in this release ticket
- [ ] The version was updated in the [Selenium integration tests](https://github.com/Jahia/jahia-qa/blob/f4f788d56fd624174302231e3d64878cd343e515/pom.xml#L75)

## Publication Checklist

- [ ] The release changelog was prepared
- [ ] In case of a major release, a **Breaking Changes** section is present in the Changelog
- [ ] The artifact was released on Nexus
- [ ] If applicable, corresponding academy pages were published
- [ ] The module was published on the store
- [ ] A message was published on slack #releases channel
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/spike.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Spike
about: Create a spike
title: ''
type: Spike

---

**The goal of the spike is to**


### Outcomes

Story ? POC ? Documentation ?


### Notes

Useful information (Technical, Design)
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/story.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: User Story
about: Create a user story
title: ''
type: Story

---

**As a**

**I want to**

**In order to**


### Acceptance criteria

**Given**

**When**

**Then**


### Notes

Useful information (Technical, Design)
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/support.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# WARNING: This template file is coming from the .github repository
# Only edit the file there

# Documentation: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
# Syntax: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema

name: Support Request
description: File a support request.
title: "<title>"
labels: ["support-request"]
type: Sup
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this support request!
Every two weeks a developer looks at the prioritized requests and answers as many as possible.
Note that this can lead to the creation of bugs or stories.
- type: textarea
attributes:
label: Context / Problem
description: A description of the problem for which you need assistance.
validations:
required: true
- type: textarea
attributes:
label: Versions used
description: The list of the versions used (Jahia, modules, jCustomer, Elasticsearch, ...).
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: A description of the current behavior, including logs (server-side, browser) & stack trace, screenshots/videos, link to CI execution
validations:
required: true
placeholder: |
1. environment used (docker, installer, browser version)
2. logs (server-side, browser) & stack trace
3. screenshots/videos
93 changes: 93 additions & 0 deletions .github/ISSUE_TEMPLATE/tech-day.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
name: Tech Day
about: Create a tech day ticket
title: ''
type: Tech Day

---

The goal of this ticket is to work on technical debt for a ticket within a fixed time window of 1 day.

## Organizing of your day

One day will NOT be sufficient to address technical debt for the codebase, organizing your day is key to wrap-up the tasks with concrete deliverable.

We recommend following this schedule:
- Begin by spending 1 hour to go over the checklist attached to this ticket, identify activities you would be able to complete within the day and create tickets for activities that would require more work or that you don't expect to complete. Make sure to link these new ticket to the techday ticket and to attach it to the checklist.
- Work on items identified during the first hour.
- Wrap up your day by spending 1 hour to document the changes you did, provide instructions for testing and eventually to give pointers to the next person working on a techday ticket for this codebase.

## Create tickets for future work
Not all tech debt items can be addressed within a day, the goal of this day is also to raise awareness about tech debt to be tackled in the future.

If you see a non-compliant element but you didn't get a chance to work on it, please create the corresponding ticket, attach it to the next fixVersion of the codebase and link it in this ticket.

Please fill the checklist available in this ticket, priorities are available as a guideline as to what we consider more or less important for each of the tech areas:

🚨 Indicates a required item, to be looked at during the day
🔝 Indicates a top priority item
🟠 Indicates a medium priority item
🙏 Indicates a low priority item

## Tech day checklist

This checklist is focused on a classic Jahia repository (module, app)

### General
- [ ] 🚨 I reviewed all OPEN TECH tickets created for that codebase (using fixVersion=codebase-X.Y.Z-SNAPSHOT)
- [ ] 🚨 I reviewed older tech day tickets for that codebase
### Javascript
- [ ] 🔝 The module's webpack config is correct ([sample](https://github.com/Jahia/jcontent/blob/master/webpack.config.js))
- [ ] 🔝 The module is using a supported LTS version of ([NodeJS](https://nodejs.org/en/about/previous-releases))
- [ ] 🟠 The module is using React v18+
- [ ] 🟠 The module is using Moonstone v2+
- [ ] 🟠 The module is not using any of the following Jahia's legacy libs:
* react-material
* moonstone-alpha
- [ ] 🔝 Dependencies listed in packages.json are still maintained (latest release not older than 6 months)
- [ ] 🟠 Dependencies listed in packages.json are no more than 2 major versions behind their latest release
- [ ] 🟠 Linting is executed properly and show no warnings
- [ ] 🟠 No warning are presents in the browser console when using the app
### Java
- [ ] 🔝 Java dependencies are explicitly declared in the module's pom.xml
- [ ] 🔝 Spring is not used in the module
- [ ] 🔝 No warnings or errors are present when building the module locally or on GitHub Actions
- [ ] 🟠 No code smell on [Sonarqube](https://sonarqube.jahia.com/projects) for the module
### Security
- [ ] 🔝 Our security lead confirmed there are no known security vulnerabilities affecting this codebase
### QA
- [ ] 🔝 Automated tests are using jahia-cypress for all utils functions
- [ ] 🔝 The test framework is using page-object models published by other modules
- [ ] 🔝 The test framework is publishing its own page-object models for use by others
- [ ] 🙏 Automated tests are using a recent version of Cypress
- [ ] 🙏 Automated tests are only relying on supported modules
### CI/CD
- [ ] 🔝 The build and the release workflows use the JDK 11 image (only if Jahia Parent is set to 8.2.0.0+)
- [ ] 🔝 GitHub Actions (nightlys and other workflows) are executed without warnings (such as depreciations)
- [ ] 🙏 The latest version of the actions are used (including jahia-modules-action)
### Documentation
- [ ] 🙏 Module's documentation available on the academy is up-to-date
### GitHub
- [ ] 🟠 [Branch protection](https://confluence.jahia.com/display/PR/GitHub+%28Product%29+-+Ref+ISPOL08.A14025#GitHub(Product)RefISPOL08.A14025-Branchprotection) is enabled for the repository
- [ ] **Automatically delete head branches** is selected in **Settings**
- [ ] 🙏 The repository contains a README.md file
- [ ] 🙏 Repository topics match are populated (at a minimum: "product" and "supported")
- [ ] 🙏 Stale branches or branches older than 2 years (non-maintenance branches) have been removed

## Fork day checklist

This checklist is focused on our forked repositories

### General
- [ ] 🚨 I checked that we cannot stop using a fork of the library
- [ ] 🚨 I created pull requests to push the fixes done in our fork to the main repository
- [ ] 🚨 I checked that we cannot upgrade to a more recent
- [ ] 🚨 I checked that we've documented why we're still using a fork of this library in [confluence](https://confluence.jahia.com/display/PR/Releasing+our+project+forks)
### Security
- [ ] 🔝 I checked that there are no known security vulnerabilities affecting this codebase
### CI/CD
- [ ] 🚨 The build and the release/publish workflows are configured (or at least documented in [confluence](https://confluence.jahia.com/display/PR/Releasing+our+project+forks))
### GitHub
- [ ] 🟠 [Branch protection](https://confluence.jahia.com/display/PR/GitHub+%28Product%29+-+Ref+ISPOL08.A14025#GitHub(Product)RefISPOL08.A14025-Branchprotection) is enabled for the repository
- [ ] **Automatically delete head branches** is selected in **Settings**
- [ ] 🙏 Repository topics match are populated (at a minimum: "product" and "supported")
24 changes: 24 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# DO NOT EDIT
# This file is managed globally at https://github.com/Jahia/.github

# Default types => labels are defined here: https://github.com/commitizen/conventional-commit-types/blob/master/index.json
# feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
changelog:
exclude:
labels:
- ignore-for-release
categories:
- title: Breaking Changes
labels:
- breaking-change
- title: New Features
labels:
- feat
- feature
- title: Bug fixes
labels:
- bugfix
- fix
- title: Other Changes
labels:
- "*"
12 changes: 12 additions & 0 deletions .github/workflows/delivery-issue-chores.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# DO NOT EDIT
# This file is managed globally at https://github.com/Jahia/.github
name: Delivery - Issue Chores

on:
issues:
issue_comment:

jobs:
WF:
uses: Jahia/jahia-modules-action/.github/workflows/delivery-issue-chores.yml@v2
secrets: inherit

0 comments on commit 6664cf1

Please sign in to comment.