v3.0.0
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). Previouslypkgr
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 theGOMAXPROCS
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