Skip to content

Merge pull request #77 from NOAA-EDAB/dependabot/github_actions/githu… #239

Merge pull request #77 from NOAA-EDAB/dependabot/github_actions/githu…

Merge pull request #77 from NOAA-EDAB/dependabot/github_actions/githu… #239

Workflow file for this run

name: pull and process data from stocksmart website
on:
push:
branches:
- main
pull_request:
branches:
- main
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 22 * * 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
workflow_dispatch:
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@v6
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 r-base-dev libuv1-dev 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","readxl", "usethis","gt","rmarkdown","rlang"))
remotes::install_github("NOAA-EDAB/stocksmart")
shell: Rscript {0}
- name: Save current rdas
run: |
load(here::here("data/stock_assessment_summary.rda"))
load(here::here("data/stock_assessment_data.rda"))
saveRDS(stock_assessment_summary,here::here("data-raw/tempSummary.rds"))
saveRDS(stock_assessment_data,here::here("data-raw/tempData.rds"))
rm(stock_assessment_data)
rm(stock_assessment_summary)
shell: Rscript {0}
- name: Pull stocksmart data
run: |
options(timeout = 60 * 60 * 6)
source(here::here("data-raw/query_stocksmart_api.R"))
query_stocksmart_api()
shell: Rscript {0}
- name: Process stocksmart data (Old dataset)
run: |
options(timeout = 60 * 60 * 6)
source(here::here("data-raw/process_stocksmart_ts_data.R"))
out <- process_stocksmart_ts_data(exportFile=TRUE, isRunLocal = FALSE)
shell: Rscript {0}
- name: Process stocksmart data (New dataset)
run: |
options(timeout = 60 * 60 * 6)
source(here::here("data-raw/process_stocksmart_ts_data2.R"))
out <- process_stocksmart_ts_data2(exportFile=TRUE, isRunLocal = FALSE)
saveRDS(out$summaryData, here::here("data-raw/newSummary.rds"))
saveRDS(out$tsData, 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@v17
with:
server_address: smtp.gmail.com
server_port: 465
username: ${{ secrets.MAIL_USERNAME }}
password: ${{ secrets.MAIL_PASSWORD }}
subject: Github Actions job result
to: andrew.beet@noaa.gov
from: 'Stocksmart GitHub <noreply@gmail.com>'
envelope_from: ${{ secrets.MAIL_USERNAME }}
#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 github-actions@github.com
git add data/stockAssessmentData.rda
git add data/stockAssessmentSummary.rda
git add data/stock_assessment_data.rda
git add data/stock_assessment_summary.rda
git add data-raw/datapull.txt
git add README.md
git add NEWS.md
git add DESCRIPTION
git commit -m "automated commit from api 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 = TRUE)
}
shell: Rscript {0}