Skip to content

Commit 2f69ca6

Browse files
committed
Add stale repos action
Signed-off-by: Matej Feder <[email protected]>
1 parent 385d5e3 commit 2f69ca6

File tree

3 files changed

+122
-0
lines changed

3 files changed

+122
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
name: inactive user identifier
3+
4+
"on":
5+
workflow_dispatch:
6+
push:
7+
branches:
8+
- main
9+
- get_stale # for testing only - remove!
10+
schedule:
11+
- cron: "3 2 1 * *"
12+
13+
permissions:
14+
contents: read
15+
issues: write
16+
17+
jobs:
18+
build:
19+
name: inactive user identifier
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- name: Analyze User Activity
24+
id: analyze_user_activity
25+
uses: peter-murray/inactive-users-action@v1
26+
with:
27+
token: ${{ secrets.GHP_MFEDER }}
28+
organization: SovereignCloudStack
29+
activity_days: 365
30+
31+
- name: Save User Activity Report
32+
uses: actions/upload-artifact@v4
33+
with:
34+
name: reports
35+
path: |
36+
${{ steps.analyze_user_activity.outputs.report_csv }}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Detect Inactive Members
2+
3+
"on":
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
- get_stale # for testing only - remove!
9+
schedule:
10+
- cron: "3 2 1 * *"
11+
12+
jobs:
13+
check-inactive-members:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
20+
- name: Set up Ruby
21+
uses: ruby/setup-ruby@v1
22+
with:
23+
ruby-version: '3.0' # Use appropriate Ruby version
24+
25+
- name: Install dependencies
26+
run: |
27+
gem install octokit dotenv
28+
29+
- name: Run inactive members script
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
ORG_NAME: "your-org-name" # Replace with your GitHub organization name
33+
run: |
34+
ruby path/to/find-inactive-members.rb

.github/workflows/stale-repos.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
name: stale repo identifier
3+
4+
"on":
5+
workflow_dispatch:
6+
push:
7+
branches:
8+
- main
9+
- get_stale # for testing only - remove!
10+
schedule:
11+
- cron: "3 2 1 * *"
12+
13+
permissions:
14+
contents: read
15+
issues: write
16+
17+
jobs:
18+
build:
19+
name: stale repo identifier
20+
runs-on: ubuntu-latest
21+
22+
permissions:
23+
contents: read
24+
issues: write
25+
26+
steps:
27+
- uses: actions/checkout@v4
28+
29+
- name: Run stale_repos tool
30+
uses: github/[email protected]
31+
env:
32+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
33+
ORGANIZATION: SovereignCloudStack
34+
INACTIVE_DAYS: 365
35+
ACTIVITY_METHOD: "pushed"
36+
ADDITIONAL_METRICS: "release,pr"
37+
38+
# This next step updates an existing issue. If you want a new issue every time, remove this step and remove the `issue-number: ${{ env.issue_number }}` line below.
39+
- name: Check for the stale report issue
40+
run: |
41+
ISSUE_NUMBER=$(gh search issues "Stale repository report" --match title --json number --jq ".[0].number")
42+
echo "issue_number=$ISSUE_NUMBER" >> "$GITHUB_ENV"
43+
env:
44+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
46+
- name: Create issue
47+
uses: peter-evans/create-issue-from-file@v5
48+
with:
49+
issue-number: ${{ env.issue_number }}
50+
title: Stale repository report
51+
content-filepath: ./stale_repos.md
52+
token: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)