binomial matrix 1 update 1 #42
This file contains hidden or 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
| # [ENERGYCODE] (c) 2025 | |
| # Workflow to render and deploy the Quarto site | |
| # - Render → GitHub Pages (automatic on every push to main and manual dispatch) | |
| # - Render → Netlify (automatically triggered via webhook if configured) | |
| # Last updated: December 2025 | |
| name: Publish Quarto site | |
| on: | |
| push: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: pages-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Quarto | |
| uses: quarto-dev/quarto-actions/setup@v2 | |
| with: | |
| version: '1.9.14' | |
| - name: Setup R | |
| uses: r-lib/actions/setup-r@v2 | |
| with: | |
| r-version: '4.4' | |
| use-public-rspm: true | |
| - name: Cache R packages | |
| uses: actions/cache@v4 | |
| id: cache-r | |
| with: | |
| path: ${{ env.R_LIBS_USER }} | |
| key: r-${{ runner.os }}-${{ hashFiles('packages.txt', 'DESCRIPTION', 'renv.lock') }} | |
| restore-keys: r-${{ runner.os }}- | |
| - name: Install all required system libraries | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y --no-install-recommends \ | |
| libcurl4-openssl-dev libssl-dev libxml2-dev \ | |
| libpng-dev libjpeg-dev libtiff-dev \ | |
| libfreetype6-dev libfontconfig1-dev \ | |
| libharfbuzz-dev libfribidi-dev libcairo2-dev \ | |
| libmagick++-dev libmagick++-6.q16-dev | |
| echo "System libraries installed. Checking Magick++..." | |
| ldconfig -p | grep Magick++ || echo "WARNING: libMagick++ not found" | |
| - name: Install magick (source compilation with system libs) | |
| run: | | |
| Rscript -e " | |
| install.packages( | |
| 'magick', | |
| repos = 'https://packagemanager.posit.co/cran/__linux__/noble/latest', | |
| quiet = TRUE | |
| ) | |
| " | |
| - name: Install CRAN packages from packages.txt | |
| run: Rscript .github/install_packages.R | |
| - name: Install marketconf from GitHub | |
| env: | |
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| Rscript -e " | |
| remotes::install_github( | |
| 'EnriquePH/marketconf@master', | |
| auth_token = Sys.getenv('GITHUB_PAT'), | |
| upgrade = 'never', | |
| quiet = TRUE | |
| ) | |
| " | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| cache: 'pip' | |
| - name: Cache pip dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pip | |
| key: pip-${{ runner.os }}-${{ hashFiles('requirements.txt') }} | |
| restore-keys: pip-${{ runner.os }}- | |
| - name: Install Python dependencies | |
| run: pip install --no-cache-dir --quiet -r requirements.txt | |
| - name: Check Quarto project | |
| continue-on-error: true | |
| run: quarto check | |
| - name: Render Quarto site | |
| env: | |
| _R_CHECK_NO_TK_: "TRUE" | |
| run: quarto render | |
| - name: Upload artifact for GitHub Pages | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: _site | |
| deploy-github-pages: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |