Skip to content

Create usage report

Create usage report #7

on:
workflow_dispatch: # Allow to run manually from Actions tab
schedule:
- cron: '45 1 1 * *' # 1:45 am on 1st day of every month
name: Create usage report
jobs:
build-deploy:
runs-on: ubuntu-latest
env:
NASA_GRAFANA_TOKEN: ${{ secrets.NASA_GRAFANA_TOKEN }}
NASA_AWS_ACCESS_KEY_ID: ${{ secrets.NASA_AWS_ACCESS_KEY_ID }}
NASA_AWS_SECRET_ACCESS_KEY: ${{ secrets.NASA_AWS_SECRET_ACCESS_KEY }}
NMFS_GRAFANA_TOKEN: ${{ secrets.NMFS_GRAFANA_TOKEN }}
NMFS_AWS_ACCESS_KEY_ID: ${{ secrets.NMFS_AWS_ACCESS_KEY_ID }}
NMFS_AWS_SECRET_ACCESS_KEY: ${{ secrets.NMFS_AWS_SECRET_ACCESS_KEY }}
GITHUB_PAT: ${{ secrets.GH_PAT }}
REPORT_DIR: _hub-usage-reporting
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# From https://github.com/r-lib/actions/tree/v2-branch/setup-r
- name: Setup R
uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- name: Setup R dependencies
uses: r-lib/actions/setup-r-dependencies@v2
with:
cache-version: 2
working-directory: ${{ env.REPORT_DIR }}
- name: Render qmd file and Commit PDF report
run: |
ym=$(Rscript -e 'cat(format(lubridate::floor_date(Sys.Date(), unit = "months") - 1, "%Y-%m"))')
outdir="$REPORT_DIR/reports"
for suffix in nasa noaa; do
target_filename="aws-usage-report-${suffix}_$ym.pdf"
quarto render "$REPORT_DIR/aws-usage-report-${suffix}.qmd" -P "year_month:$ym" --output "$target_filename"
mkdir -p "$outdir" && \
mv "$target_filename" "$outdir" && \
Rscript "$REPORT_DIR/update-report-page.R" --args "$ym" "$target_filename"
done
git config --local user.name "$GITHUB_ACTOR"
git config --local user.email "[email protected]"
git add "$outdir/aws-usage-report-*.pdf" "usage-reporting.qmd" && \
git commit -m "Render reports $ym" || echo "No changes to commit"
git push origin || echo "No changes to commit"