Skip to content

👀 Collect Stale Environments 👾 TaylorHalf #44

👀 Collect Stale Environments 👾 TaylorHalf

👀 Collect Stale Environments 👾 TaylorHalf #44

name: 👀 Collect Stale Environments
run-name: 👀 Collect Stale Environments 👾 ${{ github.actor }}
on:
push:
branches:
- feature/CB2-11814
permissions:
id-token: write
contents: write
jobs:
collect-stale-branches:
name: Collect Stale branches
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
runs-on: X64
steps:
- name: checkout
uses: actions/checkout@v4
- name: List all branches with pagination
id: branches
run: |
page=1
per_page=100
branches=()
while true; do
response=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/dvsa/cvs-svc-app-logs/branches?per_page=$per_page\&page=$page \
--jq '.[].name | select(test("^(main|master|develop|devops|HEAD)$|^(release/.*)$") | not)')
if [[ -z "$response" ]]; then
break # Exit loop if no more results
fi
branches+=($response)
((page++))
done
branches_json=$(printf '%s\n' "${branches[@]}" | jq -R . | jq -s .)
echo "Fetched branches: $branches_json"
echo "branches=$(echo $branches_json | jq -c)" >> $GITHUB_OUTPUT
- name: Test Fetch Commit Dates
run: |
# Loop through each branch to fetch commit dates
for branch in $(jq -r '.[]' <<< "$branches"); do
commit_dates=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/dvsa/cvs-svc-app-logs/commits?sha="$branch" \
--jq '.[].commit.committer.date' 2>/dev/null)
# Print commit dates
echo "Commit dates for branch $branch:"
echo "$commit_dates"
done
# - name: Get commit dates older than stale branch threshold
# env:
# stale-branch-threshold: "3m"
# run: |
# three_months_ago=$(date -v-${{ env.stale-branch-threshold }})
# for branch in $(jq -r '.[]' <<< '${{ steps.branches.outputs.branches }}'); do
# commit_dates=$(gh api \
# -H "Accept: application/vnd.github+json" \
# -H "X-GitHub-Api-Version: 2022-11-28" \
# /repos/dvsa/cvs-svc-app-logs/commits?sha=$branch \
# --jq '.[].commit.committer.date' 2>/dev/null)
# for commit_date in $commit_dates; do
# [ $($commit_date | date) < $(date -v-${{ env.stale-branch-threshold }}) ] && echo "New Commit"
# done