diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d272bea..d9eec0f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,5 @@ name: Render and Publish Quarto Site + on: push: branches: [ main, master ] @@ -7,49 +8,58 @@ on: schedule: # Scheduled to run at midnight EST (5:00 UTC) every Sunday - cron: '0 5 * * 0' + jobs: build-deploy: - runs-on: ubuntu-22.04 # Changed this line to use Ubuntu 22.04 + runs-on: ubuntu-latest + env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_VERSION: '4.3.2' + steps: - uses: actions/checkout@v4 + - name: Setup R uses: r-lib/actions/setup-r@v2 with: r-version: ${{ env.R_VERSION }} - use-public-rspm: true + use-public-rspm: true # Use RStudio Package Manager for better reliability + - name: Install system dependencies run: | sudo apt-get update - sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable - sudo apt-get update - sudo apt-get install -y libcurl4-openssl-dev libharfbuzz-dev libfribidi-dev libudunits2-dev libgdal-dev libgeos-dev libproj-dev proj-bin proj-data + sudo apt-get install -y libcurl4-openssl-dev libharfbuzz-dev libfribidi-dev libudunits2-dev libgdal-dev libgeos-dev libproj-dev + - name: Query R package dependencies run: | install.packages(c('remotes', 'here')) saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version") shell: Rscript {0} + - name: Cache R packages uses: actions/cache@v4 with: path: ${{ env.R_LIBS_USER }} key: ${{ runner.os }}-${{ env.R_VERSION }}-1-${{ hashFiles('.github/depends.Rds') }} restore-keys: ${{ runner.os }}-${{ env.R_VERSION }}-1- + - name: Install R dependencies run: | remotes::install_deps(dependencies = TRUE) - install.packages("pkgdown") + install.packages("pkgdown") # Removed "type = binary" as we're on Ubuntu shell: Rscript {0} + - name: Set up Quarto uses: quarto-dev/quarto-actions/setup@v2 + - name: Render Quarto Project uses: quarto-dev/quarto-actions/render@v2 + - name: Publish to GitHub Pages uses: quarto-dev/quarto-actions/publish@v2 with: target: gh-pages env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file