Skip to content

UpstreamTracker

UpstreamTracker #47

name: UpstreamTracker
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * 1' # check monday at midnight UTC
jobs:
Solana-Update-Checker:
runs-on: ubuntu-latest
steps:
- name: Check For Updates In Past Week
id: updates
run: |
# new PRs
OPEN=$(curl https://api.github.com/repos/solana-foundation/solana-improvement-documents/pulls\?state=open\&per_page=100 | jq --arg t "$(date -d '7 days ago' +%s)" -r '.[] | select (.created_at | . == null or fromdateiso8601 > ($t|tonumber)) | "- \(.html_url)"')
# macos
# OPEN=$(curl https://api.github.com/repos/solana-foundation/solana-improvement-documents/pulls\?state\=open\&per_page\=100 | jq --arg t "$(date -v-7d +%s)" -r '.[] | select (.created_at | . == null or fromdateiso8601 > ($t|tonumber)) | "- \(.html_url)"')
# closed PRs
CLOSED=$(curl https://api.github.com/repos/solana-foundation/solana-improvement-documents/pulls\?state=closed\&per_page=100 | jq --arg t "$(date -d '7 days ago' +%s)" -r '.[] | select (.closed_at | . == null or fromdateiso8601 > ($t|tonumber)) | "- \(.html_url)"')
# macos
# CLOSED=$(curl https://api.github.com/repos/solana-foundation/solana-improvement-documents/pulls\?state\=closed\&per_page\=100 | jq --arg t "$(date -v-7d +%s)" -r '.[] | select (.created_at | . == null or fromdateiso8601 > ($t|tonumber)) | "- \(.html_url)"')
# updates to anza-xyz/agave wiki (contains feature gate updates + release schedules)
git clone https://github.com/anza-xyz/agave.wiki.git
cd agave.wiki
WIKI=$(git diff $(git log --since="7 days ago" --pretty=format:"%h" | tail -1)^..HEAD)
WIKI=${WIKI//$'\n'/\\n}
printf -v WIKI "%q " "$WIKI"
echo "open<<EOF" >> $GITHUB_OUTPUT
echo "$OPEN" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "closed<<EOF" >> $GITHUB_OUTPUT
echo "$CLOSED" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "wiki<<EOF" >> $GITHUB_OUTPUT
echo "$WIKI" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
if: steps.updates.outputs.open || steps.updates.outputs.closed || steps.updates.outputs.wiki
- name: Open Issue
if: steps.updates.outputs.open || steps.updates.outputs.closed || steps.updates.outputs.wiki
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# TODO: update assignee to teams when GH supports it
run: |
{
echo "## SIMD";
echo "### Opened";
echo "${{ steps.updates.outputs.open }}";
echo "### Closed";
echo "${{ steps.updates.outputs.closed }}";
echo "## Agave Wiki";
echo "\`\`\`diff";
printf '%b\n' $(printf '%b\n' "${{ steps.updates.outputs.wiki }}");
echo "\`\`\`";
} >> output.md
gh issue create -a aalu1418 -t "Upstream Updates - $(date)" -l "[auto] Upstream Updates" -F output.md