-
Notifications
You must be signed in to change notification settings - Fork 1
106 lines (91 loc) · 3.71 KB
/
deploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
on:
push:
branches:
- main
workflow_dispatch:
name: Render and Publish
# you need these permissions to publish to GitHub pages
permissions:
contents: write
pages: write
jobs:
build-deploy:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
# uncomment below and fill to pin a version
# version: SPECIFIC-QUARTO-VERSION-HERE
- name: Setup R
uses: r-lib/actions/setup-r@v2
with:
r-version: 'renv'
- name: Install system dependencies
run: |
sudo apt-get install jags libcurl4-openssl-dev \
libharfbuzz-dev libfribidi-dev libsodium-dev
- name: Setup dependencies with renv
uses: r-lib/actions/setup-renv@v2
with:
cache-version: 2 # increment this to invalidate the renv cache
env:
GITHUB_PAT: ${{ secrets.RENV_GITHUB_PAT }}
- name: Import Unjournal data
run: |
source("code/import-unjournal-data.R")
save_data()
env:
AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }}
shell: Rscript {0}
- name: Upload Unjournal data as artifact
uses: actions/upload-artifact@v4
with:
name: unjournal-data
path: data
- name: Update data in repository
run: |
git config --global user.email "[email protected]"
git config --global user.name "Github Actions"
git add data/evals.csv data/all_papers_p.csv
git diff-index HEAD data/*.csv || git commit -m "Github actions: auto-update data"
git push
- name: Publish dashboard to shinyapps.io
env:
RSCONNECT_USER: ${{ secrets.RSCONNECT_USER }}
RSCONNECT_TOKEN: ${{ secrets.RSCONNECT_TOKEN }}
RSCONNECT_SECRET: ${{ secrets.RSCONNECT_SECRET }}
AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }}
run: |
rsconnect::setAccountInfo(name = Sys.getenv("RSCONNECT_USER"),
token = Sys.getenv("RSCONNECT_TOKEN"),
secret = Sys.getenv("RSCONNECT_SECRET"))
quarto::quarto_publish_app(input = "shinyapp/dashboard",
account = "unjournal",
server = "shinyapps.io",
forceUpdate = TRUE)
shell: Rscript {0}
- name: Publish DataExplorer to shinyapps.io
env:
RSCONNECT_USER: ${{ secrets.RSCONNECT_USER }}
RSCONNECT_TOKEN: ${{ secrets.RSCONNECT_TOKEN }}
RSCONNECT_SECRET: ${{ secrets.RSCONNECT_SECRET }}
run: |
source("code/create-data-for-DataExplorer.R")
rsconnect::setAccountInfo(name = Sys.getenv("RSCONNECT_USER"),
token = Sys.getenv("RSCONNECT_TOKEN"),
secret = Sys.getenv("RSCONNECT_SECRET"))
rsconnect::deployApp(appDir = "shinyapp/DataExplorer",
appName = "DataExplorer",
account = "unjournal",
server = "shinyapps.io",
forceUpdate = TRUE)
shell: Rscript {0}
- name: Render and publish Quarto website to GitHub Pages
# The publish action also renders the website by default.
uses: quarto-dev/quarto-actions/publish@v2
with:
target: gh-pages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # this secret is always available for github actions