Skip to content

Commit

Permalink
Merge branch 'main' into renovate/lodash-es-4.x
Browse files Browse the repository at this point in the history
  • Loading branch information
benelan authored Nov 2, 2023
2 parents 7d2cbd7 + f4706ff commit 6880df3
Show file tree
Hide file tree
Showing 44 changed files with 53,499 additions and 24,856 deletions.
63 changes: 63 additions & 0 deletions .github/scripts/notifyWhenSpikeComplete.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// When the "spike complete" label is added to an issue:
// 1. Modifies the labels,
// 2. Updates the assignees and milestone, and
// 3. Generates a notification to the Calcite project manager(s)
//
// The secret is formatted like so: person1, person2, person3
//
// Note the script automatically adds the "@" character in to notify the project manager(s)
module.exports = async ({ github, context }) => {
const { managers } = process.env;
const { label } = context.payload;

if (label && label.name === "spike complete") {
// Add a "@" character to notify the user
const calcite_managers = managers.split(",").map((v) => " @" + v.trim());

const issueProps = {
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
};

/* Modify labels */
try {
await github.rest.issues.removeLabel({
...issueProps,
name: "spike",
});
} catch (err) {
console.log("The 'spike' label is not associated with the issue", err);
}

try {
await github.rest.issues.removeLabel({
...issueProps,
name: "1 - assigned",
});
} catch (err) {
console.log("The '1 - assigned' label is not associated with the issue", err);
}

// Add labels
await github.rest.issues.addLabels({
...issueProps,
labels: ["0 - new", "needs milestone"],
});

/* Update issue */

// Clear assignees and milestone
await github.rest.issues.update({
...issueProps,
assignees: [],
milestone: null,
});

// Add a comment to notify the project manager(s)
await github.rest.issues.createComment({
...issueProps,
body: `cc ${calcite_managers}`,
});
}
};
21 changes: 21 additions & 0 deletions .github/workflows/spike-complete.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Spike complete"

on:
issues:
types: [labeled]

jobs:
ready-for-dev:
if: github.event.label.name == 'spike complete'
permissions:
issues: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/github-script@v6
env:
managers: ${{secrets.CALCITE_MANAGERS}}
with:
script: |
const action = require('${{ github.workspace }}/.github/scripts/notifyWhenSpikeComplete.js')
await action({github, context, core})
1 change: 1 addition & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"packages/calcite-components": "1.10.0",
"packages/calcite-components-angular": "1.10.0",
"packages/calcite-components-react": "1.10.0",
"packages/calcite-design-tokens": "1.1.0",
"packages/eslint-plugin-calcite-components": "0.2.2"
Expand Down
11 changes: 8 additions & 3 deletions .renovaterc.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base", "npm:unpublishSafe", "workarounds:typesNodeVersioning"],
"extends": [
"config:base",
"npm:unpublishSafe",
"workarounds:typesNodeVersioning",
":pinAllExceptPeerDependencies",
":widenPeerDependencies"
],
"platformCommit": true,
"rangeStrategy": "pin",
"enabledManagers": ["npm"],
"timezone": "America/Los_Angeles",
"schedule": ["before 5am on tuesday and thursday"],
"schedule": ["before 5am on every weekday"],
"labels": ["dependencies"],
"ignoreDeps": [
"@types/jest",
Expand Down
25 changes: 15 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ Note: New contributors should first contact [Ben Elan](mailto:[email protected]) or

You can help most by:

- Reporting issues by [filing a Bug issue](https://github.com/Esri/calcite-design-system/issues/new?assignees=&labels=bug%2C0+-+new%2Cneeds+triage&template=bug.yml).
- Requesting features for existing components by [creating an Enhancement issue](https://github.com/Esri/calcite-design-system/issues/new?assignees=&labels=enhancement%2C0+-+new%2Cneeds+triage&template=enhancement.yml).
- Adding ideas for components by [creating a New Component issue](https://github.com/Esri/calcite-design-system/issues/new?assignees=&labels=new+component%2C0+-+new%2Cneeds+triage&template=new-component.yml).
- Requesting features for existing components by [creating a Enhancement issue](https://github.com/Esri/calcite-design-system/issues/new?assignees=&labels=enhancement%2C0+-+new%2Cneeds+triage&template=enhancement.yml).
- Reporting problems by [creating a Bug issue](https://github.com/Esri/calcite-design-system/issues/new?assignees=&labels=bug%2C0+-+new%2Cneeds+triage&template=bug.yml).
- Working on [the issues marked as `help wanted`](https://github.com/Esri/calcite-design-system/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+no%3Aassignee). There is also a [`good first issue`](https://github.com/Esri/calcite-design-system/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+no%3Aassignee+) label if you are just getting started.
- Comment on the issue and ask for the action items before you start working. Sometimes additional context is needed, which may not be specified in the issue.
- To let us know of your interest in the issue, please comment on the issue and ask for the action items before you start working. Sometimes additional context is needed, which may not be specified in the issue. Comments also provide us access to assign the issue to you.
- If you want to help develop components take a look at the [new component issues](https://github.com/Esri/calcite-design-system/issues?q=is%3Aopen+is%3Aissue+label%3A%22new+component%22). Before starting development please review our [component conventions](./conventions/README.md) and the [Stencil documentation](https://stenciljs.com/docs/introduction).

If you aren't familiar with the basics of Web Components and Shadow DOM, please read through some of the following resources before contributing:
Expand All @@ -27,14 +27,14 @@ Have you found a new bug? Want to request a new feature? We'd love to hear from

If something isn't working the way you expect, take a look at the [existing issues](https://github.com/Esri/calcite-design-system/issues) before logging a new one. You can also report a bug or request an enhancement with [Esri Support](https://support.esri.com/en-us/contact), or ask questions, share ideas, and collaborate with others on [Esri Community](https://community.esri.com/t5/calcite-design-system/ct-p/calcite-design-system).

When filing an issue, provide all of the requested info from the appropriate [issue template](https://github.com/Esri/calcite-design-system/issues/new/choose) so we can work on resolving the issue as soon as possible. A sample that reproduces the issue is required for logging bugs, we created templates in [codepen](https://codepen.io/pen?template=RwgrjEx), [codesandbox](https://codesandbox.io/s/calcite-template-p95kp?file=/src/App.js), and [jsbin](https://jsbin.com/lopumatiru/edit?html,output) (with the ArcGIS Maps SDK for JavaScript) to help get started. Alternatively, a [documentation](https://developers.arcgis.com/calcite-design-system/components/) sample can be used if the issue is reproducible. Some other things to consider:
When filing an issue, provide all of the requested info from the appropriate [issue template](https://github.com/Esri/calcite-design-system/issues/new/choose) so we can work on resolving the issue as soon as possible. A sample that reproduces the issue is required for logging bugs - we created templates in [codepen](https://codepen.io/pen?template=RwgrjEx), [codesandbox](https://codesandbox.io/s/calcite-template-p95kp?file=/src/App.js), and [jsbin](https://jsbin.com/qecewik/edit?html,output) (with the ArcGIS Maps SDK for JavaScript) to get you started. Alternatively, a [documentation](https://developers.arcgis.com/calcite-design-system/components/) sample can be used if the issue is reproducible. Some other considerations:

- Use a clear and descriptive title
- Detail what is happening now vs what should happen
- Tell us how to reproduce the issue (e.g. is it happening in a specific browser?)
- Describe what is happening now vs what should happen
- Tell us how to reproduce the issue (e.g., is it happening in a specific browser?)
- Can it be reliably reproduced? If not, tell us how often it happens and under what circumstances.
- Screenshots and GIFs are our friends!
- Did this problem start happening after a recent release or was it always a bug?
- Screenshots and GIFs are welcome!
- Did this problem start happening after a recent release, or was it always a bug?

## Issue management

Expand All @@ -56,9 +56,10 @@ An issue can only have one of the lifecycle labels at any time. Please make sure

### Issues that cannot be worked on

There are three labels that mean an issue is not ready for development:
There are four labels that mean an issue is not ready for development:

- `design`: Issues that need design consultation, such as interaction research/feedback, visual mockups, and general approval. Once design completes their review, an additional label, `ready for dev` will be added to the issue, which means a developer can pick up the issue.
- `spike`: Issues that need to research a question or resolve a complex task with uncertain outcomes. Once the spike has been performed a `spike complete` label is added to the issue, which means a developer can pick up the issue.
- `need more info`: Issues that are missing information and/or a clear, actionable description. This can mean we are waiting on a user to provide additional context, we can't reproduce the issue, or further discussion is needed in order to determine a solution.
- `blocked`: Issues that cannot be worked on until a different issue is resolved. The blocking issue may be from an external library (Stencil, Storybook, Jest, etc.) or a Calcite Components issue. The blocking issue should be linked to in the blocked issue's body or comment.

Expand Down Expand Up @@ -215,7 +216,11 @@ johndoe/feature/add-something-to-modal

This project follows [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/), which are used to generate the changelog. Be sure to provide clear and sufficient information in commit messages. This is important because the commit messages are used to automatically update the changelog.

[Stencil's contributing document](https://github.com/ionic-team/stencil/blob/main/CONTRIBUTING.md#commit-message-format) explains this in great detail, so please refer to this for more details and examples.
For instance, if providing a bug fix to the Text Area component, which includes additional support to assistive technologies, you could use the following conventional commit:

> fix(text-area): provide additional support to assistive technologies
[Stencil's contributing document](https://github.com/ionic-team/stencil/blob/main/CONTRIBUTING.md#commit-message-format) explains this in great detail. Please refer to the above link for more conventional commit details and examples, and visit [Calcite's recent commits](https://github.com/Esri/calcite-design-system/commits/main) to refer to additional examples.

## Breaking changes

Expand Down
Loading

0 comments on commit 6880df3

Please sign in to comment.