Skip to content

Daily Workflow

Daily Workflow #201

Workflow file for this run

name: Daily Workflow
on:
workflow_dispatch:
inputs:
clear-log:
description: 'Defines if it closes the old buildfarmer log issue and create a new one'
type: boolean
required: false
default: false
schedule:
# UTC timezone
- cron: '30 11 * * *'
jobs:
daily-workflow:
name: Daily Workflow
runs-on: ubuntu-22.04
steps:
- name: Get current date
run: echo "DOW=$(date +%u)" >> $GITHUB_ENV # Day of week (1-7, 1 = Monday)
- name: Get current buildfarmer log
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run:
echo "CURRENT_LOG=$(gh issue list -R ${{ github.repository }} -l buildfarmer-log | awk '{print $1}')" >> $GITHUB_ENV
- name: Close old buildfarmer log
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ inputs.clear-log || env.DOW == '1' }}
run: |
gh issue close -R ${{ github.repository }} $CURRENT_LOG
echo "OLD_LOG=$CURRENT_LOG" >> $GITHUB_ENV
- name: Open new buildfarmer log
if: ${{ inputs.clear-log || env.DOW == '1' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
current_date=$(date +%Y/%m/%d)
issue_title="Buildfarmer log $current_date - $(date -d "$current_date +7 days" +%Y/%m/%d)"
issue_body="Previous log #$OLD_LOG"
created_issue=$(gh issue create -R ${{ github.repository }} -t "$issue_title" -b "$issue_body" -l buildfarmer-log)
echo "CURRENT_LOG=$created_issue" >> $GITHUB_ENV
echo "Issue created $created_issue"
- uses: actions/checkout@v3
- name: Set up Ruby 3.2
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
- name: Generate today's report
run: |
cd database/scripts
echo "REPORT_NAME=$(./generate_report.rb)" >> $GITHUB_ENV
- uses: actions/upload-artifact@v4
with:
name: ${{ env.REPORT_NAME }}
path: database/scripts/${{ env.REPORT_NAME }}
- name: Save report into markdown format
run: |
cd database/scripts
echo "# $(date '+%b %d')" > formatted_report.md
./format_report.rb ${{ env.REPORT_NAME }} >> formatted_report.md
- name: Upload report to weekly buildfarmer log
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh issue comment -R ${{ github.repository }} $CURRENT_LOG -F database/scripts/formatted_report.md