Skip to content

Commit

Permalink
workflow to pull, process, and compare
Browse files Browse the repository at this point in the history
  • Loading branch information
andybeet committed Jan 2, 2025
1 parent cf04a55 commit 9347e76
Showing 1 changed file with 146 additions and 0 deletions.
146 changes: 146 additions & 0 deletions .github/workflows/pullLazyData.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
name: ndbc data pull

on:
push:
branches:
- main
- master
- dev
pull_request:
branches:
- main
- master
- dev
schedule:
# uses UTC/GMT time (+ 5 hrs)
## put on HOLD until stockSMART have finished the reorganization
####- cron: "0 17 * * 3" # Every Wednesday at 1200 hrs = 1700 UTC
#- cron: "0 */4 * * *" # Every 4th hour on
#- cron: "0 6 * * *" # Every day at 1am EST = 0600 GMT
#- cron: "26 * * * *" # Every hour on hour
#- cron: "0 18 * * 0" # Every Sunday at 1300 hrs = 1800 GMT

jobs:

build:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GH_RELEASE }}
R_REMOTES_NO_ERRORS_FROM_WARNINGS: false

steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: set up pandoc
uses: r-lib/actions/setup-pandoc@v2

- name: Install command line packages
run: |
sudo apt update
sudo apt-get install libcurl4-openssl-dev libgit2-dev
# sudo apt-get install libgdal-dev libcurl4-gnutls-dev libgit2-dev libudunits2-dev libharfbuzz-dev libfribidi-dev
shell: bash

- name: Set up R
uses: r-lib/actions/setup-r@v2
with:
r-version: '4.2.0'

- name: Install packages
run: |
install.packages(c("remotes","dplyr", "httr", "here", "usethis","kableExtra","rmarkdown","rlang"))
remotes::install_github("NOAA-EDAB/buoydata")
shell: Rscript {0}

- name: Save current rdas
run: |
load(here::here("data/buoyDataWorld.rda"))
saveRDS(buoyDataWorld,here::here("data-raw/tempData.rds"))
rm(buoyDataWorld)
shell: Rscript {0}

- name: Pull nbdc data
run: |
options(timeout = 60 * 60 * 6)
source(here::here("data-raw/get_buoy_stations.R"))
newData <- get_buoy_stations(exportFile=F,isRunLocal = F)
saveRDS(newData,here::here("data-raw/newData.rds"))
shell: Rscript {0}

- name: Compare current pull with existing
# creates an rmd to send as email
# adds content to news.md
# increments package version in description
run: |
options(timeout = 60 * 60 * 6)
source(here::here("data-raw/compare_data.r"))
# source(here::here("data-raw/update_description.R"))
# source(here::here("data-raw/update_news.R"))
diffs <- compare_data()
#version <- update_description(diffs,digit=3)
#update_news(version,diffs)
rmarkdown::render(here::here("data-raw/sendAsEmail.Rmd"),
params = diffs)
#saveRDS(version,here::here("data-raw/version.rds"))
shell: Rscript {0}

- name: render readme.rmd
run: |
options(timeout = 60 * 60 * 6)
# rmarkdown::render(here::here("README.Rmd"))
shell: Rscript {0}

#- name: Find differences
# Create text explaining differences and append to news.md and release notes

#- name: Find differences
# Create text explaining differences and append to news.md and release notes

# Send email indicating if anything has changed
- name: Send email
uses: dawidd6/action-send-mail@v3

with:
server_address: smtp.gmail.com
server_port: 465

username: ${{ secrets.MAIL_USERNAME }}
password: ${{ secrets.MAIL_PASSWORD }}

subject: Github Actions job result
to: [email protected]

from: buoyData GitHub

#body: file://${{github.workspace}}/data-raw/datapull.txt

html_body: file://${{github.workspace}}/data-raw/sendAsEmail.html

#attachments: ./data-raw/sendAsEmail.html

# - name: commit data files
# run: |
# git config user.name github-actions
# git config user.email [email protected]
# git add data/buoyDataWorld.rda
# git add data-raw/datapull.txt
# git add README.Rmd
# git add README.Rmd
# git add NEWS.md
# git add DESCRIPTION
# git commit -m "automated commit from pullLazyData yml"
# git push

# - name: create gh-release
# run: |
# version <- readRDS(here::here("data-raw/version.rds"))
# if(!is.null(version)){
# usethis::use_github_release(publish = T)
# }
# shell: Rscript {0}


0 comments on commit 9347e76

Please sign in to comment.