diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..49665c3 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,81 @@ +name: Build package release + +on: + push: + tags: + - 'v*.*.*' + +permissions: + contents: write + +env: + R_KEEP_PKG_SOURCE: yes + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Check out release tag + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up R + uses: r-lib/actions/setup-r@v2 + with: + r-version: release + + - name: Install package dependencies + uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck any::roxygen2 any::testthat + needs: check + + - name: Check tag and package version + shell: bash + run: | + set -euo pipefail + tag_version="${GITHUB_REF_NAME#v}" + package_version=$(Rscript -e "cat(read.dcf('DESCRIPTION')[1, 'Version'])") + package_name=$(Rscript -e "cat(read.dcf('DESCRIPTION')[1, 'Package'])") + + if [ "$tag_version" != "$package_version" ]; then + echo "Tag version ($tag_version) does not match DESCRIPTION version ($package_version)." + exit 1 + fi + + echo "Package: $package_name" + echo "Version: $package_version" + + - name: Check generated documentation + shell: bash + run: | + set -euo pipefail + Rscript -e "roxygen2::roxygenise()" + git diff --exit-code -- NAMESPACE man/ + + - name: Run package checks + shell: bash + run: | + set -euo pipefail + Rscript -e "testthat::test_dir('tests/testthat')" + Rscript -e "rcmdcheck::rcmdcheck('.', args = c('--no-manual', '--as-cran'), error_on = 'warning')" + + - name: Build source archive + shell: bash + run: Rscript build_package.R --no-manual + + - name: Upload source archive as workflow artifact + uses: actions/upload-artifact@v4 + with: + name: source-package + path: '*.tar.gz' + if-no-files-found: error + retention-days: 90 + + - name: Create GitHub Release and attach source archive + uses: softprops/action-gh-release@v2 + with: + generate_release_notes: true + fail_on_unmatched_files: true + files: '*.tar.gz' diff --git a/.github/workflows/rhub.yaml b/.github/workflows/rhub.yaml index 9c7efcf..cd1eba0 100644 --- a/.github/workflows/rhub.yaml +++ b/.github/workflows/rhub.yaml @@ -11,6 +11,8 @@ on: branches: - main pull_request: + branches: + - main workflow_dispatch: inputs: config: diff --git a/DESCRIPTION b/DESCRIPTION index 0a2c2a1..8d06081 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: ValCont Type: Package Title: Content Validation Using Vaiken and Other Functions -Version: 0.1.0 +Version: 0.2.0 Authors@R: c( person( "Cesar", "Merino-Soto", diff --git a/NEWS.md b/NEWS.md new file mode 100644 index 0000000..8709505 --- /dev/null +++ b/NEWS.md @@ -0,0 +1,36 @@ +# ValCont News + +## ValCont 0.2.0 + +### Added + +- `MDScontent()` for multidimensional scaling maps of item-trait correspondence. +- `LuAgree()` for estimating Lu's agreement coefficient. +- `HTmult()` for Hinkin-Tracey indices. +- `minimumCV()` for Wilson-based minimum sample-size or critical-value calculations. +- Additional public and supporting functions for content validity analyses, including `CVIpub()` and `Vaikenpub()`. +- GitHub Actions workflows for cross-platform package validation and source-package release archives. + +### Changed + +- Added explicit validation for missing data across the package functions. +- Refactored MER confidence-interval calculations and improved code consistency. +- Improved plotting support using `ggplot2` and added MDS plotting functionality. +- Expanded and regenerated package documentation. +- Updated package metadata, namespace exports, dependencies, and repository documentation. + +### Fixed + +- Corrected documentation, namespace, and package-structure issues identified during CRAN-style validation. +- Improved handling of package examples and test execution. + +## ValCont 0.1.0 + +Initial public version of `ValCont`, including: + +- Content validity coefficients such as CVC, CVI, CVIR, CVR, MER, and Aiken's V. +- Asymmetric confidence intervals for bounded content validity coefficients. +- Functions for comparing independent content validity coefficients. +- MOVER-R confidence intervals for ratios of independent coefficients. +- Functions for evaluating rating homogeneity. +- Basic plotting functions for validity-coefficient results. diff --git a/README.md b/README.md index d75e466..4b6a7ba 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ R package for content validity analysis. ## Package Information - **Title:** Content Validation Using Vaiken and Other Functions -- **Version:** 0.1.0 +- **Releases:** - **Date:** 2025-07-28 - **License:** GPL (>= 3) - **URL:** @@ -54,6 +54,8 @@ if (!"devtools" %in% rownames(installed.packages())) { devtools::install_github("Diegolivia/ValCont") ``` +See [NEWS.md](NEWS.md) for a summary of changes in each package version. + ## References - Aiken, L. R. (1980). Content validity and reliability of single items or questionnaires. Educational and Psychological Measurement, 40, 955-959.