Skip to content

v3.0.0

Compare
Choose a tag to compare
@elisarver elisarver released this 19 Jan 15:51
3f19360

Release Notes

This release is primarily about adding a more robust test suite, with minimal user-facing changes. One notable exception is the first point below, relating to the new --no-update flag.

  • Reversed default behavior to update to newest available versions of packages when pkgr install is run, unless --no-update flag is present (305a835). Previously pkgr did not update installed packages unless --update was passed.
  • Add explicit version flag (6dd9c3e).
  • Added IgnorePackages to ignore specific packages from being installed even if they're in the dependency tree (104f1c9).
  • Extend integration test coverage and refactored test suite to position better for future changes.
  • System CPU quotas are now respected when setting the number of CPUs that are used if the --threads option isn't explicitly passed and the GOMAXPROCS environment variable isn't set. (#385)

Changelog

  • 3f19360 Ci/add goreleaser to drone (#394)
  • 164254d CI: document get for linux without using .ArtifactName, as this isn't available to stages. (#393)
  • b9fb24a Test/turn off 329 test (#391)
  • 6214f48 Update go.mod to patch around a dependabot vulnerability.
  • 04c4c60 Update command package (#388)
  • 31704f4 Add go.uber.org/automaxprocs to cmd/pkgr/pkgr.go (#385)
  • c19617f change: improving the labeling of a few of the tagged unit-tests.
  • 8f55610 change: making the issue #329 test a bit easier to maintain and fixing its position in the test hierarchy.
  • 806b2a0 change: adding os-specific test files to the mixed-source tests to allow me to run this as part of validation.
  • c6b0993 add: adding a test for issue #329. This will fail right now, but we want to make sure we're keeping track of this.
  • 550eb1a fix: actually pulling R 4.0.5 image before trying to use it . . .
  • 57fe580 change: changing mixed-source integration tests to use R4.0.5 as per Devin's comment.
  • f46181d change: unskipping test and modifying expected results after confirming behavior described in #380 is correct.
  • 6e8df9d change: as I feared, the R 4.0 image did not readily exist. Resetting for now.
  • 4f52bc5 change: changing the image for mixed source to be R 4.0 to see if that makes binaries available.
  • 4333788 add: adding mixed-source tests to drone.
  • 841679c change: changing testhelper.PkgRepoSetLogs.ToString to, by default, exclude type information. The reason for this is to allow golden files to be platform agnostic in cases * where we are not specifically testing install_type.
  • f143454 change: skipping a test that's failing as a result of issue #380.
  • 2bec960 add: adding mixed-source test, although it is currently failing on Mac because of issue #329, as well as the fact that R 4.0 binaries are not available on the latest MPN * snapshot known to have Linux binaries.
  • 21b7179 fix: correcting a false negative in an E2E test. The remaining negative in BSLNPLN-E2E-003 is a real problem though.
  • 20efcfd change: improving pre-installed baseline plan test to cover more scenarios. Found a bug.
  • 0f982fd add: adding E2E tests for situations with packages not installed by pkgr.
  • 92bca52 change: adding test tags to some tests that were missing them.
  • ca0054d change: adding test IDs to outdated pkg e2e tests.
  • 0c2799c change: updating test tags in baseline install (updating as I assign them so this is safe)
  • 737d25f change: changing the localrepo used in tarball-install tests to prevent collisions in the pkgr global pkgdb cache.
  • 7dc8184 change: some more refactoring to help narrow down the cause of some testing weirdness. Disabling suite-test, as it isn't really doing anything but marking failures.
  • 44ed063 change: adding some IDs to a few unit tests that are relevant for validation.
  • 8f6fccb change: repairing configlib unit tests.
  • 249f54a fix: fixing locale settings for multi-repo test.
  • 6bf551b change: removing a unit test that is not worth the maintenance given that we are moving Rcmd to a new package.
  • ebad5fe wip: tidying up some tests to make it easier to run them consistently alongside the unit tests.
  • 66b17ef fix: rollback test since normalized naming to capitalcase in yaml
  • 0196589 rm additional old outdated packages test
  • 4a17b5a rm old outdated pkg test
  • a3b4c5e refactor: update tests and behavior to reflect new default behavior
  • 305a835 refactor: use noupdate to normalize to the inverse pattern elsewhere and change default
  • 928523a add: adding tests for cache-partial and cache-extraneous.
  • acf6198 add: adding tests for idempotence.
  • e277922 change: updating .drone.yml file to include library tests.
  • 216c5bc change: changing the tarball-install tests to reflect the undesired but expected behavior described in #376
  • 1fa3b81 add: test for the -v flag.
  • 2ec8070 add: packrat and renv tests.
  • 3d66de4 add: strict mode test, as well as some setup for renv and packrat tests.
  • e342404 add: adding a test for tarball overwrite.
  • 40ff502 add: tarball installation test.
  • 10a9504 add: adding a test for the 'Suggests' option in baseline.
  • 8405976 add: rpath env var E2E test.
  • d08c8b4 change: adding a line to regular (non-test) code to standardize a log message.
  • 6b011a1 add: tests for the 'NoRecommended' flag.
  • aa08b72 add: adding a test for bad-customization, refactoring some things.
  • 9e3fcf7 change: adding validation test tags to some of our relevant unit tests.
  • 94eb200 add: updating golden file for multi-repo plan test.
  • bddd4ae add: adding explicit test for repo order and refactoring multi-repo tests to not use regex.
  • 4974d91 change: adding a 'delete test-library' to the beginning of baseline install, fleshing out the clean cache tests a bit more.
  • 1613621 change: improving the clean tests.
  • 315c418 add: sort methods so that we can do a golden-file option for tests hitting the logs.
  • 61210c2 wip: swapping out regex match with JSON-parsing strategy.
  • 145c6cf wip: bulking up the baseline tests to cover some of what was previously done in simple.
  • 36f8027 ci: sync additional tests
  • 86a8180 ci: adjust go env so can use mod cache to not re-dl deps for tests
  • f1c13a1 add: multi-repo tests.
  • 200b468 fix: fixing .drone.yml
  • 554fcbf add: Makefile and drone config.
  • 6baf0b0 change: removing defunct folders and files.
  • ae5a917 add: load-fail tests.
  • 1ea9511 change: trimming down dependencies invoked in load test and adding a test for the load report.
  • 7715ee5 wip: working through some of the needs of the load test. Need to trim down deps.
  • 33ab691 change: some minor cleanup for consistency.
  • 15ce7fd wip: fixing a typo in the drone.yml file.
  • b180e5a wip: adding drone, adding makefile, adding test for update flag.
  • 3e31ea5 wip: automating Outdated tests using new pattern.
  • 75383d4 review: respond to JC code review comments around setup
  • 5585360 ci: add rollback tests
  • 182cf53 doc: information about how rollback test works
  • 346a8c1 refactor and test rollback
  • eaca927 ci: add baseline
  • 2ce85a7 ci: first shot at drone ci
  • 40bff60 fixup: version to be specific to target
  • 6dd9c3e feat: add version flags --version and -v
  • 6b0c17b update to latest command and restructure based on output being byteslice
  • 3008a65 test: add additional run tests and invocation by make
  • 643010c improve test structuring with makefile plus subtests
  • 10c86d2 dep: update deps
  • ca63e9c reconcile
  • 5445e20 update test to be a test.
  • 26024a9 This includes a -logjson flag for most logging cases, along with some stuff in integration_test/integration_helper for making and running a test from an enumerated list.
  • 6e21a15 test: add example snapshot test
  • b6b3e32 feat: sort dependency arrays to make more deterministic
  • ba67e4f refactor: drop forced colors so file and piped outputs will be easier to manage
  • a32e868 refactor: use combined output, clean up log messages and consistent casing
  • b2954f8 bump go releaser
  • ba34e26 chore: remove todo since actually has tests
  • 8ad331c fix: customizations structures
  • cce50ea chore: bump to 3.x series
  • be59972 fix: cache /etc/os-release
  • 1437d4f fix/break: linux binary compat major changes
  • 765933d chore: whitespace changes that might have been needed for parsing the tests, but might have been a red-herring. Either way... whitespace changes.
  • 91e112b change: minor tweaks to the tilde-expansion test.
  • e9262cf change: updating threads test to use latest MPN snapshot and updating expected packages to match.
  • 3c14e9e change: minor tweaks to the tarball-install test.
  • 8e24d26 change: tweaking strict-mode tests to also include a config file with Lockfile: type: renv.
  • 32f2c91 change: completely overhauling the simple-suggests test. It's still not great, but it wasn't even finished before so this was necessary.
  • a1eb1b8 change: updating 'recommended' test to pull from source for all repos involved after discovering #333
  • 77567b8 change: minor tweaks to the simple test for clarity.
  • 256be0a change: updating the simple integration test to use a later MPN snapshot.
  • 951e34d chore: fixing a typo in rollback-disabled.
  • 925e0a6 change: updating repo-order test to only require 'plan' to be run -- mrgsolve has system dependencies that make installing it problematic, but verifying plan should be * sufficient.
  • 853e4b6 change: minor updates to repo-local-and-remote test.
  • d9f73c1 change: updating packrat-library test to reflect current behavior.
  • 67720d2 change: updating the outdated-pkgs-no-update test and making it less redundant.
  • daf1b9f change: updating outdated-pkgs pkgr.yml to point to MPN.
  • 4531372 change: updating the mixed-source guide.md to actually make sense.
  • 1670305 change: updating the 'misc' integration test for clarity and updated package environments.
  • f76555c chore: tweaking linux-binaries test.
  • 9189c34 change: modifying linux-binaries test instructions to be Metworx-specific.
  • 8fbab3c change: bumping pkgr version to reflect commits not included in the last release.
  • cf18241 change: updates to the load tests for R version 4.
  • d820333 change: minor updates to some integration tests.
  • 49719b3 change: package dependency change for create-library integration test.
  • be2be31 change: updating guide.md for binaries-mac integration test to reflect new dependencies in test packages.
  • ada2f5c add: removing no-secure tests and adding path-bug tests. Updating test Makefile.
  • 849d2bd wip: adding new integration test cases for new features.
  • ed6b4a4 fix: all active unit tests are now valid. Three are failing, and this failure has been documented in #330.
  • f261248 wip: fixing configlib unit tests.
  • 71093af change: making 'NeedsCompilation' explicitly expected to be FALSE in unit tests where not otherwise specified.
  • e96d45c wip: removing unit tests that aren't worth re-writing and adding License and NeedsCompilation fields to the DESCRIPTION file unit tests.
  • 1b23fa2 fix: it's sloppy, but the load unit tests run again.
  • a7c4a78 wip: test files for band-aiding R version dependencies in automated tests.
  • 6f8974c wip: trying to work around the R version dependencies for the failing Load tests.
  • 104f1c9 exp: allow for ignoring certain packages in the solve

Installation Instructions

Mac

first time:

brew tap metrumresearchgroup/tap
brew install pkgr

upgrade:

brew upgrade pkgr

Linux

sudo wget https://github.com/metrumresearchgroup/pkgr/releases/download/v3.0.0/pkgr_3.0.0_linux_amd64.tar.gz -O /tmp/pkgr.tar.gz
sudo tar xzf /tmp/pkgr.tar.gz pkgr
sudo mv pkgr /usr/local/bin/pkgr
sudo chmod +x /usr/local/bin/pkgr