Skip to content

Commit 342cb6a

Browse files
authored
feat: add stale issue cleanup workflow (#50)
* feat: add stale issue cleanup workflow - Introduced a GitHub Actions workflow to mark and close stale issues and pull requests. - Configured to run on a schedule and manually via workflow dispatch. docs: update README with new module descriptions and installation instructions - Added new modules under Dock & Panel, Appearance, Behavior, and Privacy & Clipboard sections. - Updated installation instructions to reflect changes in GNOME Shell version requirements. style: update aurora-shell logo and improve UI elements - Replaced the existing logo with a new design. - Adjusted styles for dev tool buttons and panels for better consistency and appearance. fix: remove disposed state tracking in Bluetooth device item - Eliminated unnecessary disposed state tracking in BluetoothDeviceItemPatcher. - Simplified update logic to avoid checks against disposed state. refactor: enhance preferences UI with logo and website link - Added a logo and a link to the project website in the preferences window. - Improved layout and styling of the preferences section. chore: update Portuguese translations - Updated translation strings for various modules and preferences. - Adjusted POT-Creation-Date for consistency. * refactor: clean up workflows and improve notification handling in MeetingClock and WeatherClock modules * refactor: update tooltip handling to use layoutManager's uiGroup * refactor: streamline GNOME backport workflow and clarify contribution guidelines * refactor: remove unused description timers and related logic in WeatherClock module
1 parent 06f32d5 commit 342cb6a

22 files changed

Lines changed: 533 additions & 338 deletions

.github/workflows/gnome-backport.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,22 @@ name: GNOME Backport
22

33
on:
44
pull_request_target:
5-
types: [opened, synchronize, reopened, labeled, closed]
5+
types: [closed]
66

77
permissions:
88
contents: write
99
issues: write
1010
pull-requests: write
1111

12+
concurrency:
13+
group: gnome-backport-${{ github.event.pull_request.number }}
14+
cancel-in-progress: false
15+
1216
jobs:
1317
backport:
1418
name: Create GNOME maintenance PR
1519
runs-on: ubuntu-latest
16-
if: github.event.action != 'closed' || github.event.pull_request.merged == true
20+
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main'
1721
steps:
1822
- uses: actions/checkout@v4
1923
with:
@@ -47,6 +51,7 @@ jobs:
4751
export MAJOR
4852
BASE_BRANCH="release/v${MAJOR}.x"
4953
BACKPORT_BRANCH="backport/pr-${PR_NUMBER}-gnome-${MAJOR}"
54+
BACKPORT_TITLE="${PR_TITLE//$'\n'/ } (GNOME ${MAJOR} backport)"
5055
ERROR_BODY="/tmp/backport-error.md"
5156
5257
on_error() {
@@ -64,6 +69,7 @@ jobs:
6469
trap on_error ERR
6570
6671
git fetch origin "+refs/heads/${BASE_BRANCH}:refs/remotes/origin/${BASE_BRANCH}"
72+
git fetch origin "+refs/heads/${BACKPORT_BRANCH}:refs/remotes/origin/${BACKPORT_BRANCH}" || true
6773
git fetch origin "+refs/pull/${PR_NUMBER}/head:refs/remotes/origin/pr/${PR_NUMBER}/head"
6874
git checkout -B "$BACKPORT_BRANCH" "origin/${BASE_BRANCH}"
6975
@@ -98,7 +104,8 @@ jobs:
98104
git commit -m "Bump version to ${NEXT_VERSION}"
99105
fi
100106
101-
git push --force-with-lease origin "$BACKPORT_BRANCH"
107+
git fetch origin "+refs/heads/${BACKPORT_BRANCH}:refs/remotes/origin/${BACKPORT_BRANCH}" || true
108+
git push --force-with-lease origin HEAD:"$BACKPORT_BRANCH"
102109
103110
EXISTING_PR=$(gh pr list \
104111
--head "$BACKPORT_BRANCH" \
@@ -111,18 +118,20 @@ jobs:
111118
{
112119
echo "Backport of #${PR_NUMBER} to \`${BASE_BRANCH}\`."
113120
echo ""
121+
echo "Original title: ${PR_TITLE}"
122+
echo ""
114123
echo "This branch also bumps \`metadata.json\` to \`${NEXT_VERSION}\`."
115124
} > "$BODY"
116125
117126
if [ -n "$EXISTING_PR" ]; then
118127
gh pr edit "$EXISTING_PR" \
119-
--title "Backport #${PR_NUMBER} to GNOME ${MAJOR}" \
128+
--title "$BACKPORT_TITLE" \
120129
--body-file "$BODY"
121130
echo "Updated backport PR #${EXISTING_PR}."
122131
else
123132
gh pr create \
124133
--base "$BASE_BRANCH" \
125134
--head "$BACKPORT_BRANCH" \
126-
--title "Backport #${PR_NUMBER} to GNOME ${MAJOR}" \
135+
--title "$BACKPORT_TITLE" \
127136
--body-file "$BODY"
128137
fi

.github/workflows/post-hygiene.yml

Lines changed: 0 additions & 154 deletions
This file was deleted.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Stale Cleanup
2+
3+
on:
4+
schedule:
5+
- cron: '00 8 * * *'
6+
workflow_dispatch:
7+
8+
permissions:
9+
issues: write
10+
pull-requests: write
11+
12+
jobs:
13+
mark-stale:
14+
name: Mark and close stale posts
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Mark inactive posts as stale and close stale issues
18+
uses: actions/stale@v10
19+
with:
20+
stale-issue-label: stale
21+
stale-pr-label: stale
22+
days-before-issue-stale: 45
23+
days-before-issue-close: 14
24+
days-before-pr-stale: 30
25+
days-before-close: -1
26+
days-before-pr-close: -1
27+
close-issue-label: closed-as-stale
28+
close-issue-reason: not_planned
29+
remove-stale-when-updated: true
30+
operations-per-run: 100
31+
stale-issue-message: |
32+
This issue has been marked as stale because it has not had recent activity. Add a comment or remove the `stale` label if it is still relevant.
33+
close-issue-message: |
34+
This issue has been closed because it stayed stale without further activity. Reopen it or file a new issue if it is still relevant.
35+
stale-pr-message: |
36+
This pull request has been marked as stale because it has not had recent activity. Update it, add a comment, or remove the `stale` label if it should stay active.
37+
exempt-issue-labels: pinned,security,release-blocker
38+
exempt-pr-labels: pinned,security,release-blocker

AGENTS.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@
66

77
## Validation After Changes
88

9-
After **any** code change, always follow these rules to ensure quality while being efficient:
9+
After a change to code under `src/`, always follow these rules to ensure quality while being efficient.
10+
For documentation, workflow, metadata, translation, or other non-`src/` changes, do not run `just validate`
11+
or `just shexli` unless the task specifically requires that validation.
1012

11-
1. **Always run `just validate`** — type-checks the source, lints, and checks formatting. Fix any reported errors.
12-
2. **Run targeted integration tests:**
13+
1. **Run `just validate`** — type-checks the source, lints, and checks formatting. Fix any reported errors.
14+
2. **Run `just shexli`** — packages the extension and runs the extensions.gnome.org static analyzer on the generated ZIP. Review every finding. Some `warning` or `manual_review` findings can be false positives or accepted GNOME-review tradeoffs, but they must be called out explicitly; fix any real regression before finishing.
15+
3. **Run targeted integration tests:**
1316
* If you modified only **one module**, run only the integration test for that module (e.g., `just test tests/shell/auroraTrayIcons.js`).
14-
* If you made **formatting-only changes** (Prettier) and have already passed the tests in a previous turn, you only need to run `just validate`.
17+
* If you made **formatting-only changes** (Prettier) and have already passed the tests in a previous turn, you only need to run `just validate` and `just shexli`.
1518
* If you made **architectural or cross-cutting changes**, run `just toolbox test-all`.
1619

1720
**IMPORTANT:** Never execute the `test` command (or `test-all`) chained with another command using `&&`. Always run it as a separate standalone turn.

CONTRIBUTING.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ Maintainers decide which fixes are worth backporting. Not every fix needs to lan
152152
### Automated backports
153153

154154
To request a maintenance backport, add a label such as `GNOME 50` to the original pull request.
155-
GitHub Actions creates or updates a separate backport PR targeting `release/v50.x`.
155+
After the original pull request is merged into `main`, GitHub Actions creates or updates a separate
156+
backport PR targeting `release/v50.x`.
156157

157158
The backport branch is rebuilt from the target release branch, cherry-picks the original PR commits,
158159
and adds a final version bump commit. For example, if `metadata.json` on `release/v50.x` says

README.md

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,46 @@ A modular GNOME Shell extension that adds quality-of-life features missing in va
1414

1515
Aurora is split into independent modules, so you can enable only what you want.
1616

17+
### Dock & Panel
18+
1719
| Module | Description |
1820
|--------|-------------|
19-
| **No Overview** | Skips the overview on startup so you land directly on your desktop |
20-
| **Pip On Top** | Keeps Picture-in-Picture windows above other windows automatically |
21-
| **Theme Changer** | Keeps GNOME light/dark color scheme behavior consistent |
2221
| **Dock** | Replaces the stock dash with a smart per-monitor dock with intellihide and edge reveal |
2322
| **Volume Mixer** | Adds per-application volume sliders to Quick Settings with fast access to Sound Settings |
24-
| **XWayland Indicator** | Adds an indicator to the app activities in Ctrl + Tab to indicate where XWayland is running |
23+
| **Bluetooth Menu** | Shows battery level and animated icons in the Bluetooth Quick Settings panel |
2524
| **Weather Clock** | Shows GNOME Weather next to the panel clock |
2625
| **Meeting Clock** | Shows upcoming calendar events next to the panel clock and notifies when meetings are about to start |
2726
| **Tray Icons** | System tray in the panel that shows SNI app icons and GNOME background apps, with configurable icon limit, icon size, attention notifications, and smart SNI/background-app deduplication |
28-
| **DND on Screen Share** | Automatically enables Do Not Disturb mode when screen sharing or recording is active |
27+
28+
### Appearance
29+
30+
| Module | Description |
31+
|--------|-------------|
32+
| **Theme Changer** | Keeps GNOME light/dark color scheme behavior consistent |
2933
| **Icon Weave** | Automatically fixes missing app icons by matching untracked windows to their apps in-memory |
34+
| **App Search Tooltip** | Shows app names on hover in the overview search results |
35+
| **Auto Theme Switcher** | Automatically switches between light and dark theme based on time |
36+
37+
### Behavior
38+
39+
| Module | Description |
40+
|--------|-------------|
41+
| **No Overview** | Skips the overview on startup so you land directly on your desktop |
42+
| **Pip On Top** | Keeps Picture-in-Picture windows above other windows automatically |
43+
| **XWayland Indicator** | Adds an X11 badge to XWayland apps in the Alt+Tab switcher |
44+
45+
### Privacy & Clipboard
46+
47+
| Module | Description |
48+
|--------|-------------|
49+
| **Privacy** | Adds screen sharing privacy features, including automatic Do Not Disturb and panel content hiding |
50+
| **Clipboard History** | Adds searchable clipboard history with pinning and keyboard navigation |
3051

3152
All modules can be toggled independently from the extension preferences.
3253

3354
## Requirements
3455

35-
- GNOME Shell 45+
56+
- GNOME Shell 50+
3657
- [Node.js](https://nodejs.org/) 20+
3758
- [Yarn](https://yarnpkg.com/) 4+
3859
- [just](https://github.com/casey/just) (command runner)
@@ -49,21 +70,12 @@ The easiest way to install is from the official GNOME Extensions website.
4970

5071
### From command-line
5172

52-
```bash
53-
git clone https://github.com/luminusOS/aurora-shell.git
54-
cd aurora-shell
55-
just install
56-
```
57-
58-
## Testing
73+
Download the latest `aurora-shell@luminusos.github.io.shell-extension.zip` file from the
74+
[GitHub releases page](https://github.com/luminusOS/aurora-shell/releases), then install it:
5975

6076
```bash
61-
# Build, install, and run directly on the host
62-
just run
63-
64-
# Build, install, and run inside a toolbox
65-
just toolbox create # first time only
66-
just toolbox run
77+
gnome-extensions install --force aurora-shell@luminusos.github.io.shell-extension.zip
78+
gnome-extensions enable aurora-shell@luminusos.github.io
6779
```
6880

6981
## Contributing

0 commit comments

Comments
 (0)