configure workflows for main (v3-beta) branch

pull/2794/head
René Werner 2024-01-06 17:49:14 +01:00
parent 408fa20a91
commit 960b652587
8 changed files with 145 additions and 57 deletions

View File

@ -1,7 +1,7 @@
name: "\U0001F680 Feature Request"
title: "\U0001F680 [Feature]: "
description: Suggest an idea to improve this project.
labels: ["✏️ Feature"]
name: "📝 Feature Proposal"
title: "📝 [Proposal]: "
description: Propose a feature or improvement for Fiber.
labels: ["📝 Proposal", "✏️ Feature", "v3"]
body:
- type: markdown
@ -9,43 +9,55 @@ body:
attributes:
value: |
### Notice
- Don't forget you can ask your questions in our [Discord server](https://gofiber.io/discord).
- If you think this is just a bug, open the issue with the **☢️ Bug Report** template.
- Write your issue with clear and understandable English.
- For questions, join our [Discord server](https://gofiber.io/discord).
- Please write in clear, understandable English.
- Ensure your proposal aligns with Express design principles and HTTP RFC standards.
- Describe features expected to remain stable and not require changes in the foreseeable future.
- type: textarea
id: description
attributes:
label: "Feature Description"
description: "A clear and detailed description of the feature you would like to see added."
placeholder: "Explain your feature clearly, and in detail."
label: "Feature Proposal Description"
description: "A clear and detailed description of the feature you are proposing for Fiber v3. How should it work, and what API endpoints and methods would it involve?"
placeholder: "Describe your feature proposal clearly and in detail, including API endpoints and methods."
validations:
required: true
- type: textarea
id: express-alignment
attributes:
label: "Alignment with Express API"
description: "Explain how your proposal aligns with the design and API of Express.js. Provide comparative examples if possible."
placeholder: "Outline how the feature aligns with Express.js design principles and API standards."
validations:
required: true
- type: textarea
id: standards-compliance
attributes:
label: "HTTP RFC Standards Compliance"
description: "Confirm that the feature complies with HTTP RFC standards, and describe any relevant aspects."
placeholder: "Detail how the feature adheres to HTTP RFC standards."
validations:
required: true
- type: textarea
id: additional-context
id: stability
attributes:
label: "Additional Context (optional)"
description: "If you have something else to describe, write them here."
placeholder: "Write here what you can describe differently."
label: "API Stability"
description: "Discuss the expected stability of the feature and its API. How do you ensure that it will not require changes or deprecations in the near future?"
placeholder: "Describe measures taken to ensure the feature's API stability over time."
validations:
required: true
- type: textarea
id: snippet
id: examples
attributes:
label: "Code Snippet (optional)"
description: "Code snippet may be really helpful to describe some features."
placeholder: "Share a code snippet to explain the feature better."
label: "Feature Examples"
description: "Provide concrete examples and code snippets to illustrate how the proposed feature should function."
placeholder: "Share code snippets that exemplify the proposed feature and its usage."
render: go
value: |
package main
validations:
required: true
import "github.com/gofiber/fiber/v3"
import "log"
func main() {
app := fiber.New()
// An example to describe the feature
log.Fatal(app.Listen(":3000"))
}
- type: checkboxes
id: terms
attributes:
@ -54,7 +66,7 @@ body:
options:
- label: "I agree to follow Fiber's [Code of Conduct](https://github.com/gofiber/fiber/blob/master/.github/CODE_OF_CONDUCT.md)."
required: true
- label: "I have checked for existing issues that describe my suggestion prior to opening this one."
- label: "I have searched for existing issues that describe my proposal before opening this one."
required: true
- label: "I understand that improperly formatted feature requests may be closed without explanation."
- label: "I understand that a proposal that does not meet these guidelines may be closed without explanation."
required: true

View File

@ -0,0 +1,53 @@
name: "🧹 Maintenance Task"
title: "🧹 [Maintenance]: "
description: Describe a maintenance task for the v3 of the Fiber project.
labels: ["🧹 Updates", "v3"]
body:
- type: markdown
id: notice
attributes:
value: |
### Notice
- Before submitting a maintenance task, please check if a similar task has already been filed.
- Clearly outline the purpose of the maintenance task and its impact on the project.
- Use clear and understandable English.
- type: textarea
id: task-description
attributes:
label: "Maintenance Task Description"
description: "Provide a detailed description of the maintenance task. Include any specific areas of the codebase that require attention, and the desired outcomes of this task."
placeholder: "Detail the maintenance task, specifying what needs to be done and why it is necessary."
validations:
required: true
- type: textarea
id: impact
attributes:
label: "Impact on the Project"
description: "Explain the impact this maintenance will have on the project. Include benefits and potential risks if applicable."
placeholder: "Describe how completing this task will benefit the project, or the risks of not addressing it."
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: "Additional Context (optional)"
description: "Any additional information or context regarding the maintenance task that might be helpful."
placeholder: "Provide any additional information that may be relevant to the task at hand."
validations:
required: false
- type: checkboxes
id: terms
attributes:
label: "Checklist:"
description: "Please confirm the following:"
options:
- label: "I have confirmed that this maintenance task is currently not being addressed."
required: true
- label: "I understand that this task will be evaluated by the maintainers and prioritized accordingly."
required: true
- label: "I am available to provide further information if needed."
required: true

3
.github/labeler.yml vendored
View File

@ -15,6 +15,9 @@ labels:
- label: '✏️ Feature'
matcher:
title: '\b(feature|feat|create|implement|add)\b'
- label: '📝 Proposal'
matcher:
title: '\b(proposal|idea|request|suggest)\b'
- label: '🤔 Question'
matcher:
title: '\b(question|how)\b'

View File

@ -1,31 +1,44 @@
## Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Explain the *details* for making this change. What existing problem does the pull request solve?
Please provide a clear and concise description of the changes you've made and the problem they address. Include the purpose of the change, any relevant issues it solves, and the benefits it brings to the project. If this change introduces new features or adjustments, highlight them here.
Fixes # (issue)
Related to # (issue)
## Type of change
## Changes Introduced
List the new features or adjustments introduced in this pull request. Provide details on benchmarks, documentation updates, changelog entries, and if applicable, the migration guide.
- [ ] Benchmarks: Describe any performance benchmarks and improvements related to the changes.
- [ ] Documentation Update: Detail the updates made to the documentation and links to the changed files.
- [ ] Changelog/What's New: Include a summary of the additions for the upcoming release notes.
- [ ] Migration Guide: If necessary, provide a guide or steps for users to migrate their existing code to accommodate these changes.
- [ ] API Alignment with Express: Explain how the changes align with the Express API.
- [ ] API Longevity: Discuss the steps taken to ensure that the new or updated APIs are consistent and not prone to breaking changes.
- [ ] Examples: Provide examples demonstrating the new features or changes in action.
## Type of Change
Please delete options that are not relevant.
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
- [ ] Enhancement (improvement to existing features and functionality)
- [ ] Documentation update (changes to documentation)
- [ ] Performance improvement (non-breaking change which improves efficiency)
- [ ] Code consistency (non-breaking change which improves code reliability and robustness)
## Checklist:
## Checklist
- [ ] For new functionalities I follow the inspiration of the express js framework and built them similar in usage
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation - /docs/ directory for https://docs.gofiber.io/
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] If new dependencies exist, I have checked that they are really necessary and agreed with the maintainers/community (we want to have as few dependencies as possible)
- [ ] I tried to make my code as fast as possible with as few allocations as possible
- [ ] For new code I have written benchmarks so that they can be analyzed and improved
Before you submit your pull request, please make sure you meet these requirements:
## Commit formatting:
- [ ] Followed the inspiration of the Express.js framework for new functionalities, making them similar in usage.
- [ ] Conducted a self-review of the code and provided comments for complex or critical parts.
- [ ] Updated the documentation in the `/docs/` directory for [Fiber's documentation](https://docs.gofiber.io/).
- [ ] Added or updated unit tests to validate the effectiveness of the changes or new features.
- [ ] Ensured that new and existing unit tests pass locally with the changes.
- [ ] Verified that any new dependencies are essential and have been agreed upon by the maintainers/community.
- [ ] Aimed for optimal performance with minimal allocations in the new code.
- [ ] Provided benchmarks for the new code to analyze and improve upon.
Use emojis on commit messages so it provides an easy way of identifying the purpose or intention of a commit. Check out the emoji cheatsheet here: https://gitmoji.carloscuesta.me/
## Commit Formatting
Please use emojis in commit messages for an easy way to identify the purpose or intention of a commit. Check out the emoji cheatsheet here: [CONTRIBUTING.md](https://github.com/gofiber/fiber/blob/master/.github/CONTRIBUTING.md#pull-requests-or-commits)

View File

@ -1,5 +1,11 @@
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
commitish: refs/heads/main
filter-by-commitish: true
include-labels:
- 'v3'
exclude-labels:
- 'v2'
categories:
- title: '❗ Breaking Changes'
labels:
@ -7,13 +13,16 @@ categories:
- title: '🚀 New'
labels:
- '✏️ Feature'
- '📝 Proposal'
- title: '🧹 Updates'
labels:
- '🧹 Updates'
- '🤖 Dependencies'
- title: '🐛 Fixes'
labels:
- '☢️ Bug'
- title: '🛠️ Maintenance'
labels:
- '🤖 Dependencies'
- title: '📚 Documentation'
labels:
- '📒 Documentation'
@ -31,6 +40,7 @@ version-resolver:
labels:
- 'minor'
- '✏️ Feature'
- '📝 Proposal'
patch:
labels:
- 'patch'

View File

@ -5,7 +5,6 @@ on:
branches:
- master
- main
- v3-beta
paths:
- "**"
- "!docs/**"

View File

@ -4,9 +4,8 @@ name: golangci-lint
on:
push:
branches:
#- master
#- main
- v3-beta
- master
- main
pull_request:
permissions:
contents: read

View File

@ -3,7 +3,6 @@ on:
branches:
- master
- main
- v3-beta
paths:
- "**"
- "!docs/**"