Skip to content

Ask for beat when latest beast has been long ago #807

Ask for beat when latest beast has been long ago

Ask for beat when latest beast has been long ago #807

Workflow file for this run

name: Ask for beat when latest beast has been long ago
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
matrix:
runs-on: ubuntu-latest
outputs:
hearts-matrix: "${{ steps.hearts.outputs.matrix }}"
steps:
- name: Checkout kevinboss/heartbeat
uses: actions/checkout@v4
- uses: nahsi/files-to-matrix@v1
id: hearts
with:
files: hearts/**
settings: >-
[
{
"name": "heart",
"level": 1
}
]
ask:
runs-on: ubuntu-latest
if: needs.matrix.outputs.hearts-matrix
needs: matrix
strategy:
fail-fast: false
max-parallel: 1
matrix:
hearts: "${{ fromJSON(needs.matrix.outputs.hearts-matrix) }}"
steps:
- name: Checkout kevinboss/heartbeat
uses: actions/checkout@v4
with:
path: 'heartbeat'
- name: Pull
run: git -C heartbeat pull
- name: Read heart
id: heart
uses: the-coding-turtle/ga-yaml-parser@v0.1.2
with:
file: 'heartbeat/hearts/${{ matrix.hearts.heart }}'
- name: Read latest
id: latest
uses: KJ002/read-yaml@1.6
with:
file: 'heartbeat/beats.yaml'
key-path: '["${{ steps.heart.outputs.owner }}", "${{ steps.heart.outputs.name }}"]'
- name: Check if latest must be updated
id: ask-for-a-beat
run: |
if [[ ${{ steps.latest.outputs.data }} == "" ]] ; then
echo "flag=false" >> $GITHUB_OUTPUT
elif (( $(( ($(date +%s) - $(date -d ${{ steps.latest.outputs.data }} +%s)) / 86400 )) > 30 )) ; then
echo "flag=true" >> $GITHUB_OUTPUT
else
echo "flag=false" >> $GITHUB_OUTPUT
fi
- name: Create request for beat issue
if: ${{ steps.ask-for-a-beat.outputs.flag == 'true' }}
uses: JasonEtco/create-an-issue@v2
with:
filename: heartbeat/.github/ISSUE_TEMPLATE/ask_for_beat.md
assignees: ${{ steps.heart.outputs.owner }}
update_existing: false
search_existing: open
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OWNER: ${{ steps.heart.outputs.owner }}
NAME: ${{ steps.heart.outputs.name }}