Update hacim.yml #19
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build_vdh_dashboard | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
# If a new one is called, cancel the old one | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
generate-dashboard: | |
# Only run on closed merge requests | |
if: (github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == 'true') || github.event_name == 'push' | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
contents: write | |
pages: write | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
RENV_PATHS_ROOT: ~/.local/share/renv | |
steps: | |
# Downloading both the repositories to simulate the original task | |
- uses: actions/checkout@main | |
with: | |
path: 'parent/${{ github.event.repository.name }}' | |
- uses: actions/checkout@main | |
with: | |
repository: uva-bi-sdad/social_data_commons | |
path: 'parent/social_data_commons' | |
# Needs to download the 'parent' directory | |
- uses: actions/checkout@main | |
with: | |
repository: uva-bi-sdad/community_example | |
path: 'parent/community_example' | |
- name: Run tree | |
run: | | |
tree .. | |
- name: Cache packages | |
uses: actions/cache@v3 | |
with: | |
path: ${{ env.RENV_PATHS_ROOT }} | |
key: ${{ runner.os }}-renv-${{ hashFiles('**/renv.lock') }} | |
restore-keys: | | |
${{ runner.os }}-renv- | |
# - name: Tell renv to ignore all files | |
# working-directory: ${{ github.workspace }}/parent/social_data_commons | |
# run: | | |
# echo "*\n!.\nrepos" >> .renvignore | |
# cat .renvignore | |
- uses: r-lib/actions/setup-r@v2 | |
- name: Cache downloaded repositories | |
uses: actions/cache@v3 | |
with: | |
path: ${{ github.workspace }}/parent/social_data_commons/repos | |
key: ${{ runner.os }}-repos-${{ hashFiles('**/parent/social_data_commons/repos') }} | |
restore-keys: | | |
${{ runner.os }}-repos- | |
- run: echo "💡 The ${{ github.repository }} repository have been cloned to the runner." | |
- name: Set up "data commons" | |
working-directory: ${{ github.workspace }}/parent/social_data_commons | |
shell: Rscript {0} | |
run: | | |
if (!requireNamespace("renv", quietly = TRUE)) install.packages("renv") | |
renv::init() | |
renv::restore() | |
install.packages('remotes') | |
remotes::install_github('uva-bi-sdad/community') | |
source("build.R") | |
renv::snapshot() | |
# You actually need to run the parent site to get the child site to get the sdc update variables... :( Why... | |
- name: build community_example | |
working-directory: ${{ github.workspace }}/parent/community_example | |
shell: Rscript {0} | |
run: | | |
if (!requireNamespace("renv", quietly = TRUE)) install.packages("renv") | |
renv::init() | |
renv::restore() | |
install.packages('remotes') | |
remotes::install_github('uva-bi-sdad/community') | |
source("build.R") | |
renv::snapshot() | |
- name: build ${{ github.event.repository.name }} | |
working-directory: ${{ github.workspace }}/parent/${{ github.event.repository.name }} | |
shell: Rscript {0} | |
run: | | |
if (!requireNamespace("renv", quietly = TRUE)) install.packages("renv") | |
renv::init() | |
renv::restore() | |
install.packages('remotes') | |
remotes::install_github('uva-bi-sdad/community') | |
source("build.R") | |
renv::snapshot() | |
- name: List files | |
run: | | |
ls -la | |
# - name: Commit files # Commit changes | |
# working-directory: parent/${{ github.event.repository.name }} | |
# run: | | |
# ls -la | |
# git config --local user.email "[email protected]" | |
# git config --local user.name "GitHub Actions" | |
# git add -A | |
# git commit -m "generating dashboard" | |
# git push | |
- name: Setup Pages | |
uses: actions/configure-pages@v3 | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v2 | |
with: | |
# Upload entire repository | |
path: 'parent/${{ github.event.repository.name }}/docs' | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v2 |