Skip to content

Commit b9f79af

Browse files
authored
Merge pull request #1722 from TinasheMTapera/develop
May 2025 Newsletter
2 parents a3b62f7 + e0f5e33 commit b9f79af

20 files changed

+1244
-6
lines changed

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
blank_issues_enabled: true
1+
blank_issues_enabled: false
22
contact_links:
33
- name: Get in Contact
44
url: https://us-rse.org/steering-committee/
@@ -14,4 +14,4 @@ contact_links:
1414
about: If you want to ask a question or get help here, post an issue.
1515
- name: Code of Conduct
1616
url: https://us-rse.org/code-of-conduct/
17-
about: Read the US-RSE Code of Conduct
17+
about: Read the US-RSE Code of Conduct
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: "Newsletter Draft: New Edition"
2+
description: "Start a new US-RSE newsletter draft and prepare for collaborative editing."
3+
title: "Newsletter Draft [Month Year]"
4+
labels: ["newsletter", "draft"]
5+
assignees: ["@TinasheMTapera"]
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
## ✨ Newsletter Draft Checklist
11+
12+
This issue helps coordinate the creation of a new US-RSE newsletter edition and synchronize collaboration across GitHub and HackMD.
13+
14+
- type: input
15+
id: month
16+
attributes:
17+
label: Newsletter Month
18+
description: Month of the newsletter edition (e.g., April)
19+
placeholder: "April"
20+
validations:
21+
required: true
22+
23+
- type: input
24+
id: year
25+
attributes:
26+
label: Newsletter Year
27+
description: Year of the newsletter edition (e.g., 2025)
28+
placeholder: "2025"
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: highlights
34+
attributes:
35+
label: Headline Highlights
36+
description: Brief description of main highlights or themes for this edition
37+
placeholder: "Community celebrations, RSE’25 announcement, job board, etc."
38+
39+
- type: textarea
40+
id: tasks
41+
attributes:
42+
label: Newsletter Tasks
43+
description: Checklist to complete this edition
44+
value: |
45+
### 🛠️ Tasks
46+
47+
- [ ] Create new markdown draft using Jekyll post format
48+
- [ ] Add file to `_posts/` with filename: `YYYY-MM-DD-newsletter.md`
49+
- [ ] Add YAML frontmatter with correct `title`, `date`, and tags
50+
- [ ] Push draft to `feature/draft-newsletter-[month-year]` branch
51+
- [ ] Share HackMD link in Slack channels
52+
- [ ] `#newsletters`
53+
- [ ] `#working-group-chairs`
54+
- [ ] `#community-calls`
55+
- [ ] `#events`
56+
- [ ] `#general`
57+
- [ ] Open PR into `develop` with `[WIP] Newsletter [Month Year]`
58+
- [ ] Create HackMD mirror and paste link below
59+
- [ ] Collect input and finalize sections by [insert target date]
60+
- [ ] Develop content for headline
61+
- [ ] Gather Steering Committee updates
62+
- [ ] Update community call details and youtube links
63+
- [ ] Forward previous month's events and opportunities
64+
- [ ] Clear slack list triage
65+
- [ ] Get new events and opportunities from slack #events & #general
66+
- [ ] Check job posting links
67+
- [ ] Finalize and merge to `main`
68+
69+
- type: input
70+
id: hackmd-link
71+
attributes:
72+
label: HackMD Link
73+
description: Paste the link to the HackMD collaborative draft
74+
placeholder: "https://hackmd.io/@usrse/newsletter-April-2025"
75+
76+
- type: textarea
77+
id: notes
78+
attributes:
79+
label: Additional Notes
80+
description: Anything else to note or watch out for this edition?
81+
placeholder: Add any notes, context, or reminders here...
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Generate Newsletter File
2+
3+
on:
4+
issues:
5+
types: [opened]
6+
7+
jobs:
8+
generate-newsletter:
9+
if: contains(github.event.issue.title, 'Newsletter Draft:')
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v3
15+
16+
- name: Extract values from issue body
17+
id: vars
18+
run: |
19+
month=$(echo "${{ github.event.issue.body }}" | grep -i "Newsletter Month" -A 1 | tail -n 1 | xargs)
20+
year=$(echo "${{ github.event.issue.body }}" | grep -i "Newsletter Year" -A 1 | tail -n 1 | xargs)
21+
# Convert month name to MM
22+
month_num=$(date -d "$month 1" '+%m')
23+
date="${year}-${month_num}-01"
24+
branch="feature/newsletter-${year}-${month_num}"
25+
filename="_posts/${date}-newsletter.md"
26+
27+
echo "month=$month" >> $GITHUB_OUTPUT
28+
echo "month_num=$month_num" >> $GITHUB_OUTPUT
29+
echo "year=$year" >> $GITHUB_OUTPUT
30+
echo "date=$date" >> $GITHUB_OUTPUT
31+
echo "branch=$branch" >> $GITHUB_OUTPUT
32+
echo "filename=$filename" >> $GITHUB_OUTPUT
33+
34+
- name: Create feature branch from develop
35+
run: |
36+
git fetch origin develop
37+
git checkout -b "${{ steps.vars.outputs.branch }}" origin/develop
38+
39+
- name: Generate newsletter draft from template
40+
run: |
41+
cp _template/newsletter-template.md "${{ steps.vars.outputs.filename }}"
42+
sed -i "s/{{ month }}/${{ steps.vars.outputs.month }}/g" "${{ steps.vars.outputs.filename }}"
43+
sed -i "s/{{ year }}/${{ steps.vars.outputs.year }}/g" "${{ steps.vars.outputs.filename }}"
44+
sed -i "s/{{ date }}/${{ steps.vars.outputs.date }}/g" "${{ steps.vars.outputs.filename }}"
45+
46+
- name: Commit and push
47+
run: |
48+
git config user.name "github-actions[bot]"
49+
git config user.email "github-actions[bot]@users.noreply.github.com"
50+
git add "${{ steps.vars.outputs.filename }}"
51+
git commit -m "Add newsletter draft for ${{ steps.vars.outputs.month }} ${{ steps.vars.outputs.year }}"
52+
git push origin "${{ steps.vars.outputs.branch }}"
53+
54+
- name: Comment on issue with branch details
55+
env:
56+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57+
run: |
58+
gh issue comment ${{ github.event.issue.number }} --body "Draft file created for **${{ steps.vars.outputs.month }} ${{ steps.vars.outputs.year }}** at \`${{ steps.vars.outputs.filename }}\` in branch \`${{ steps.vars.outputs.branch }}\`.\n\nYou can now:\n1. Open the branch in VS Code using GitFlow (\`feature/newsletter-${{ steps.vars.outputs.year }}-${{ steps.vars.outputs.month_num }}\`)\n2. Edit and review the draft\n3. Open a PR into \`develop\` when ready"

0 commit comments

Comments
 (0)