Skip to content

Commit 7bbdf98

Browse files
committed
Update and fix stale repos action
Signed-off-by: Matej Feder <[email protected]>
1 parent ba7c2de commit 7bbdf98

File tree

2 files changed

+93
-7
lines changed

2 files changed

+93
-7
lines changed

.github/workflows/stale-repos.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ name: stale repo identifier
1818
workflow_dispatch:
1919
push:
2020
branches:
21-
- main
21+
- fix-stale-repos-action
2222
schedule:
2323
- cron: "0 1 1 * *" # Runs monthly: at 01:00 UTC on the 1st day of every month
2424

@@ -38,10 +38,10 @@ jobs:
3838
contents: read
3939

4040
steps:
41-
- uses: actions/checkout@v4
41+
- uses: actions/checkout@v6
4242

4343
- name: Run stale_repos tool
44-
uses: github/stale-repos@v2.1.3
44+
uses: github/stale-repos@v6
4545
env:
4646
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4747
ORGANIZATION: SovereignCloudStack
@@ -53,7 +53,7 @@ jobs:
5353
run: mv stale_repos.md stale_repos_${{ matrix.days }}.md
5454

5555
- name: Upload stale report artifact
56-
uses: actions/upload-artifact@v4
56+
uses: actions/upload-artifact@v5
5757
with:
5858
name: stale_repos_report_${{ matrix.days }}
5959
path: stale_repos_${{ matrix.days }}.md
@@ -67,10 +67,10 @@ jobs:
6767
issues: write
6868

6969
steps:
70-
- uses: actions/checkout@v4
70+
- uses: actions/checkout@v6
7171

7272
- name: Download all stale report artifacts
73-
uses: actions/download-artifact@v4
73+
uses: actions/download-artifact@v6
7474
with:
7575
path: stale_reports
7676

@@ -90,7 +90,7 @@ jobs:
9090
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9191

9292
- name: Create or update issue
93-
uses: peter-evans/create-issue-from-file@v5
93+
uses: peter-evans/create-issue-from-file@v6
9494
with:
9595
issue-number: ${{ env.issue_number }}
9696
title: Stale repository report

.github/workflows/stale-users.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Find Inactive Members
2+
3+
on:
4+
workflow_dispatch: # Allows manual execution
5+
push:
6+
branches:
7+
- main
8+
- get_stale # for testing only - remove!
9+
schedule:
10+
- cron: "0 2 1 * *" # Runs monthly at 02:00 UTC on the 1st
11+
12+
permissions:
13+
contents: read
14+
issues: write
15+
16+
jobs:
17+
find-inactive-members:
18+
name: Identify inactive org members
19+
runs-on: ubuntu-latest
20+
strategy:
21+
matrix:
22+
days: [335, 365]
23+
24+
steps:
25+
- name: Checkout repository
26+
uses: actions/checkout@v4
27+
28+
- name: Set up Ruby
29+
uses: ruby/setup-ruby@v1
30+
with:
31+
ruby-version: "3.2"
32+
33+
- name: Install dependencies
34+
run: gem install octokit dotenv
35+
36+
- name: Download find-inactive-members script
37+
run: |
38+
curl -o find_inactive_members.rb https://raw.githubusercontent.com/github/platform-samples/master/api/ruby/find-inactive-members/find_inactive_members.rb
39+
chmod +x find_inactive_members.rb
40+
41+
- name: Run find-inactive-members script
42+
env:
43+
OCTOKIT_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44+
ORGANIZATION: SovereignCloudStack
45+
INACTIVE_DATE: $(date -d "${{ matrix.days }} days ago" '+%b %d %Y')
46+
run: ruby find_inactive_members.rb -o $ORGANIZATION -d "$INACTIVE_DATE" > inactive_members_${{ matrix.days }}.md
47+
48+
- name: Upload report artifact
49+
uses: actions/upload-artifact@v4
50+
with:
51+
name: inactive_members_report_${{ matrix.days }}
52+
path: inactive_members_${{ matrix.days }}.md
53+
54+
create-issue:
55+
name: Create or update inactive members issue
56+
runs-on: ubuntu-latest
57+
needs: find-inactive-members
58+
59+
steps:
60+
- name: Download all inactive members reports
61+
uses: actions/download-artifact@v4
62+
with:
63+
path: inactive_reports
64+
65+
- name: Merge reports
66+
run: |
67+
echo "# Inactive Members Report" > final_inactive_members.md
68+
for file in inactive_reports/**/inactive_members_*.md; do
69+
cat "$file" >> final_inactive_members.md
70+
echo "" >> final_inactive_members.md
71+
done
72+
73+
- name: Check for existing issue
74+
run: |
75+
ISSUE_NUMBER=$(gh search issues "Inactive Members Report" --match title --json number --jq ".[0].number")
76+
echo "issue_number=$ISSUE_NUMBER" >> "$GITHUB_ENV"
77+
env:
78+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
79+
80+
- name: Create or update issue with report
81+
uses: peter-evans/create-issue-from-file@v5
82+
with:
83+
issue-number: ${{ env.issue_number }}
84+
title: Inactive Members Report
85+
content-filepath: final_inactive_members.md
86+
token: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)