Skip to content

Commit 0e4460c

Browse files
authored
Merge branch 'main' into feat/flyout-system
2 parents 32edff0 + c828838 commit 0e4460c

225 files changed

Lines changed: 2564 additions & 12734 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/01-bug_report.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ assignees: ''
88

99
---
1010

11+
**Reported by**
12+
13+
<!-- Who reported this, if it was not yourself. -->
14+
1115
**Describe the bug**
1216
<!-- A clear and concise description of what the bug is. -->
1317

.github/ISSUE_TEMPLATE/02-feature_request.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ assignees: ''
88

99
---
1010

11+
**Requestor**
12+
13+
<!-- Who requested this, if it was not yourself. -->
14+
1115
**Problem Statement**
1216

1317
<!-- What problem do we need to solve? Why is this needed? -->

.github/actions/check-changelog/action.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ inputs:
44
pr-number:
55
required: true
66
description: PR number used as the changelog filename
7+
package-path:
8+
required: false
9+
description: The base path of the package to check for a changelog. If not provided, it will check all packages.
710
runs:
811
using: 'composite'
912
steps:
@@ -12,4 +15,5 @@ runs:
1215
run: .github/actions/check-changelog/entrypoint.sh
1316
env:
1417
PR_NUMBER: ${{ inputs.pr-number }}
18+
PACKAGE_PATH: ${{ inputs.package-path }}
1519

.github/actions/check-changelog/entrypoint.sh

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,32 @@
33
# Exit on error
44
set -e
55

6-
# The PR number provided as input
6+
# The PR number and package path provided as input
77
PR_NUMBER="${PR_NUMBER}"
8+
PACKAGE_PATH="${PACKAGE_PATH}"
89

9-
# Search for the changelog file across all packages
10-
changelog_files=$(find packages/*/changelogs/upcoming/ -type f -name "${PR_NUMBER}.md")
10+
# Search for the changelog file
11+
if [ -n "$PACKAGE_PATH" ]; then
12+
# Check specific package
13+
changelog_files=$(find "${PACKAGE_PATH}/changelogs/upcoming/" -type f -name "${PR_NUMBER}.md" 2>/dev/null || true)
14+
package_name=$(basename "$PACKAGE_PATH")
1115

12-
# If no changelog file is found, fail the step with an error message
13-
if [ -z "$changelog_files" ]; then
14-
echo "❌ Changelog file for PR #${PR_NUMBER} is missing."
15-
echo "You need to add a changelog to this PR before it can be merged. See https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting/changelogs.md."
16-
exit 1
16+
if [ -z "$changelog_files" ]; then
17+
echo "❌ Changelog file for PR #${PR_NUMBER} is missing in package '${package_name}'."
18+
echo "You need to add a changelog to this PR before it can be merged. See https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting/changelogs.md"
19+
exit 1
20+
else
21+
echo "✅ Changelog file for PR #${PR_NUMBER} found in package '${package_name}': $changelog_files"
22+
fi
1723
else
18-
echo "✅ Changelog file for PR #${PR_NUMBER} found: $changelog_files"
24+
# Search for the changelog file across all packages
25+
changelog_files=$(find packages/*/changelogs/upcoming/ -type f -name "${PR_NUMBER}.md")
26+
27+
if [ -z "$changelog_files" ]; then
28+
echo "❌ Changelog file for PR #${PR_NUMBER} is missing."
29+
echo "You need to add a changelog to this PR before it can be merged. See https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting/changelogs.md"
30+
exit 1
31+
else
32+
echo "✅ Changelog file for PR #${PR_NUMBER} found: $changelog_files"
33+
fi
1934
fi
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Detect package changes
2+
description: 'Detects which public packages have changed based on git diff'
3+
outputs:
4+
changed-packages:
5+
description: 'A JSON array of changed public package names'
6+
value: ${{ steps.changes.outputs.changed-packages }}
7+
runs:
8+
using: 'composite'
9+
steps:
10+
- name: Detect package changes
11+
id: changes
12+
shell: bash
13+
run: ${{ github.action_path }}/entrypoint.sh
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
3+
# Exit on error
4+
set -e
5+
6+
# Get the list of changed files
7+
changed_files=$(git diff --name-only origin/main...HEAD)
8+
9+
# Find all public packages and check for changes
10+
public_packages=()
11+
for dir in packages/*/; do
12+
if [ -f "${dir}package.json" ] && ! grep -q '"private": true' "${dir}package.json"; then
13+
package_name=$(basename "$dir")
14+
if echo "$changed_files" | grep -q "^packages/$package_name/"; then
15+
public_packages+=("\"$package_name\"")
16+
fi
17+
fi
18+
done
19+
20+
# Output a JSON array of changed package names
21+
if [ ${#public_packages[@]} -gt 0 ]; then
22+
changed_list=$(IFS=,; echo "[${public_packages[*]}]")
23+
echo "changed-packages=$changed_list" >> $GITHUB_OUTPUT
24+
else
25+
echo "changed-packages=[]" >> $GITHUB_OUTPUT
26+
fi

.github/pull_request_template.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ Remove or strikethrough items that do not apply to your PR.
4949
- [ ] Added or updated **[jest](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/testing/unit-testing.md) and [cypress](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/testing/cypress-testing.md) tests**
5050
- [ ] Updated **[visual regression tests](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/testing/visual-regression-testing.md)**
5151
- Release checklist
52-
- [ ] A **[changelog](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting/changelogs.md)** entry exists and is marked appropriately.
52+
- [ ] A **[changelog](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting/changelogs.md)** entry exists and is marked appropriately
5353
- [ ] If applicable, added the **breaking change** issue label (and filled out the breaking change checklist)
54+
- [ ] If the changes unblock an issue in a different repo, smoke tested carefully (see [Testing EUI features in Kibana ahead of time](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/testing/testing-in-kibana.md))
5455
- Designer checklist
5556
- [ ] If applicable, [file an issue](https://github.com/elastic/platform-ux-team/issues/new/choose) to update [EUI's Figma library](https://www.figma.com/community/file/964536385682658129) with any corresponding UI changes. _(This is an internal repo, if you are external to Elastic, ask a maintainer to submit this request)_

.github/workflows/changelog.yml

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,32 @@ on:
55
branches: [main]
66

77
jobs:
8-
# Enforces the update of a changelog file on every pull request
8+
# Check for changes in all public packages, needed in the `changelog` job
9+
detect-changes:
10+
runs-on: ubuntu-latest
11+
outputs:
12+
changed-packages: ${{ steps.changes.outputs.changed-packages }}
13+
steps:
14+
- uses: actions/checkout@v2
15+
with:
16+
fetch-depth: 0
17+
- name: Detect package changes
18+
id: changes
19+
uses: ./.github/actions/detect-package-changes
20+
21+
# Enforces the update of a changelog file on every pull request for all public packages
22+
# unless the PR contains the `skip-changelog` label
923
changelog:
10-
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-changelog') }}
24+
needs: detect-changes
25+
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-changelog') && fromJson(needs.detect-changes.outputs.changed-packages)[0] }}
1126
runs-on: ubuntu-latest
27+
strategy:
28+
matrix:
29+
package: ${{ fromJson(needs.detect-changes.outputs.changed-packages) }}
1230
steps:
13-
- uses: actions/checkout@v2
14-
- uses: ./.github/actions/check-changelog
15-
with:
16-
pr-number: ${{ github.event.pull_request.number }}
31+
- uses: actions/checkout@v2
32+
- name: Check changelog for ${{ matrix.package }}
33+
uses: ./.github/actions/check-changelog
34+
with:
35+
pr-number: ${{ github.event.pull_request.number }}
36+
package-path: packages/${{ matrix.package }}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Sync Project Fields
2+
#
3+
# Syncs Created Date, Closed Date, and Started Date fields for all items in a GitHub Project.
4+
# Runs daily at 2 AM UTC and can be triggered manually.
5+
#
6+
# Required Repository Secret:
7+
# PROJECT_TOKEN - Fine-grained Personal Access Token with:
8+
# - Repository permissions: Issues (Read), Metadata (Read)
9+
# - Organization permissions: Projects (Read & Write)
10+
#
11+
# Required Repository Variables:
12+
# PROJECT_SYNC_ORG - Organization name (e.g., "elastic")
13+
# PROJECT_SYNC_NUMBER - Project number (e.g., 1079)
14+
# PROJECT_SYNC_CREATED_DATE_FIELD_ID - Created Date field ID
15+
# PROJECT_SYNC_CLOSED_DATE_FIELD_ID - Closed Date field ID
16+
# PROJECT_SYNC_STARTED_DATE_FIELD_ID - Started Date field ID
17+
#
18+
# Optional Repository Variables (have defaults):
19+
# PROJECT_SYNC_IN_PROGRESS_STATUS - defaults to "In Progress"
20+
# PROJECT_SYNC_BACKLOG_STATUS - defaults to "Backlog"
21+
22+
name: Sync Project Fields
23+
24+
on:
25+
schedule:
26+
# Run daily at 2 AM UTC
27+
- cron: '0 2 * * *'
28+
workflow_dispatch: # Allow manual triggering
29+
30+
jobs:
31+
sync-fields:
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout repository
35+
uses: actions/checkout@v4
36+
37+
- name: Setup Node.js
38+
uses: actions/setup-node@v4
39+
with:
40+
node-version: '18'
41+
42+
- name: Create config.json
43+
run: |
44+
cat > config.json << 'EOF'
45+
{
46+
"organization": "${{ vars.PROJECT_SYNC_ORG }}",
47+
"projectNumber": ${{ vars.PROJECT_SYNC_NUMBER }},
48+
"createdDateFieldId": "${{ vars.PROJECT_SYNC_CREATED_DATE_FIELD_ID }}",
49+
"closedDateFieldId": "${{ vars.PROJECT_SYNC_CLOSED_DATE_FIELD_ID }}",
50+
"startedDateFieldId": "${{ vars.PROJECT_SYNC_STARTED_DATE_FIELD_ID }}",
51+
"inProgressStatus": "${{ vars.PROJECT_SYNC_IN_PROGRESS_STATUS || 'In Progress' }}",
52+
"backlogStatus": "${{ vars.PROJECT_SYNC_BACKLOG_STATUS || 'Backlog' }}"
53+
}
54+
EOF
55+
56+
- name: Sync all project fields
57+
run: node scripts/sync-project-fields.js
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.PROJECT_TOKEN }}
60+
61+
- name: Upload logs on failure
62+
if: failure()
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: sync-logs
66+
path: |
67+
*.log
68+
retention-days: 7
69+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
- Added `HighContrastModeToggle` component and adds it as main navbar item
2+
3+
**Breaking changes**
4+
5+
- Removed `ThemeSwitcher` component

0 commit comments

Comments
 (0)