Skip to content

release: v2.3.2 — sync dev, CI hardening, metadata refresh #238

release: v2.3.2 — sync dev, CI hardening, metadata refresh

release: v2.3.2 — sync dev, CI hardening, metadata refresh #238

# R Scripted Tests Workflow
# Runs custom R test scripts (not testthat-based R CMD check tests)
#
# Pinned to ubuntu-22.04 for pandoc/citation tooling compatibility
# See: https://github.com/r-lib/actions/issues/994
name: R Scripted Tests
on:
push:
branches: [main, develop]
paths:
- 'r/**'
- 'tests/**'
- 'r/DESCRIPTION'
- 'r/NAMESPACE'
- '.github/workflows/r-scripted-tests.yaml'
pull_request:
branches: [main, develop]
paths:
- 'r/**'
- 'tests/**'
- 'r/DESCRIPTION'
- 'r/NAMESPACE'
- '.github/workflows/r-scripted-tests.yaml'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
r-tests:
name: R Scripted Tests
# Pinned to ubuntu-22.04 for pandoc-citeproc availability
runs-on: ubuntu-22.04
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Set up R
uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libcurl4-openssl-dev \
libssl-dev \
libxml2-dev \
libharfbuzz-dev \
libfribidi-dev \
libfreetype6-dev \
libpng-dev \
libtiff5-dev \
libjpeg-dev \
libwebp-dev
- name: Install minimal dependencies for OFFLINE tests
run: |
# OFFLINE tests only need yaml package (no full package dependencies)
Rscript -e "install.packages('yaml', repos='https://cloud.r-project.org')"
Rscript -e "cat('Installed packages:', paste(installed.packages()[,'Package'], collapse=', '))"
- name: Run scripted tests (YAML metadata)
env:
CI: true
UNICEF_API_TIMEOUT: 30
run: |
Rscript -e "source('${{ github.workspace }}/r/tests/run_tests.R')"
- name: Run pipeline fixture tests (clean/filter)
run: |
Rscript "${{ github.workspace }}/r/tests/test_pipeline_fixtures.R"
- name: Run mocked pipeline tests (full unicefData flow)
run: |
Rscript "${{ github.workspace }}/r/tests/test_pipeline_mocked.R"
- name: Run cross-language fixture tests
run: |
Rscript "${{ github.workspace }}/tests/test_cross_language_output.R"