arvados.git
9 years ago3198: Fixing tests broken by previous commit's refactoring. Creating new
Peter Amstutz [Fri, 19 Dec 2014 14:30:26 +0000 (09:30 -0500)]
3198: Fixing tests broken by previous commit's refactoring.  Creating new
ArvadosFile/ArvadosFileReader/ArvadosFileWriter classes.

9 years ago3198: Refactoring. Added Range object instead of fiddling with arrays, should
Peter Amstutz [Fri, 19 Dec 2014 03:43:23 +0000 (22:43 -0500)]
3198: Refactoring.  Added Range object instead of fiddling with arrays, should
make the code easier to comprehend.

9 years ago3198: New Collection/AravosFile design work in progress
Peter Amstutz [Thu, 18 Dec 2014 22:12:43 +0000 (17:12 -0500)]
3198: New Collection/AravosFile design work in progress

9 years ago3198: Support repacking buffer blocks when writes are superceded.
Peter Amstutz [Thu, 18 Dec 2014 16:26:04 +0000 (11:26 -0500)]
3198: Support repacking buffer blocks when writes are superceded.

9 years ago3198: Working on optimizing rewrites
Peter Amstutz [Wed, 17 Dec 2014 21:33:06 +0000 (16:33 -0500)]
3198: Working on optimizing rewrites

9 years ago3198: Random access updates works.
Peter Amstutz [Wed, 17 Dec 2014 19:52:04 +0000 (14:52 -0500)]
3198: Random access updates works.

9 years ago3198: Refactor stream and file classes and functions a little bit for readability.
Peter Amstutz [Wed, 17 Dec 2014 15:04:08 +0000 (10:04 -0500)]
3198: Refactor stream and file classes and functions a little bit for readability.

9 years ago3198: Can use write to append only.
Peter Amstutz [Tue, 16 Dec 2014 22:11:26 +0000 (17:11 -0500)]
3198: Can use write to append only.

9 years ago3198: Support for truncating files. A few tests. Next step work on random access...
Peter Amstutz [Tue, 16 Dec 2014 18:51:06 +0000 (13:51 -0500)]
3198: Support for truncating files.  A few tests.  Next step work on random access writing.

9 years ago3198: Initial support appending to streams.
Peter Amstutz [Mon, 15 Dec 2014 22:03:57 +0000 (17:03 -0500)]
3198: Initial support appending to streams.

9 years ago3198: Start to refactor locators_and_ranges to use for replacing ranges
Peter Amstutz [Fri, 12 Dec 2014 21:26:07 +0000 (16:26 -0500)]
3198: Start to refactor locators_and_ranges to use for replacing ranges

9 years agocloses #4476
Radhika Chippada [Fri, 12 Dec 2014 14:26:03 +0000 (09:26 -0500)]
closes #4476
closes #4804
Merge branch '4476-search-next-page-issue'

9 years agocloses #4799
Radhika Chippada [Fri, 12 Dec 2014 14:22:14 +0000 (09:22 -0500)]
closes #4799
Merge branch '4799-move-selected-error'

9 years agorefs #4754
Radhika Chippada [Fri, 12 Dec 2014 14:14:02 +0000 (09:14 -0500)]
refs #4754
Merge branch '4754-performance-benchmarks'

9 years agoMerge branch 'master' into 4754-performance-benchmarks
Radhika Chippada [Fri, 12 Dec 2014 14:13:31 +0000 (09:13 -0500)]
Merge branch 'master' into 4754-performance-benchmarks

9 years ago4804: search dialog retains project_uuid param in next_page_href.
Radhika Chippada [Thu, 11 Dec 2014 21:46:36 +0000 (16:46 -0500)]
4804: search dialog retains project_uuid param in next_page_href.

9 years ago4476: include filters in search next_page_href url.
Radhika Chippada [Thu, 11 Dec 2014 19:38:21 +0000 (14:38 -0500)]
4476: include filters in search next_page_href url.

9 years ago4799: do not offer "move selected" option when current user cannot write to the project.
Radhika Chippada [Thu, 11 Dec 2014 17:26:30 +0000 (12:26 -0500)]
4799: do not offer "move selected" option when current user cannot write to the project.

9 years ago4027: Document arvados_sdk_version's virtualenv requirement.
Brett Smith [Thu, 11 Dec 2014 15:54:28 +0000 (10:54 -0500)]
4027: Document arvados_sdk_version's virtualenv requirement.

Refs #4027.

9 years ago4754: add command to be used to run diagnostics testing as a comment.
Radhika Chippada [Thu, 11 Dec 2014 14:16:26 +0000 (09:16 -0500)]
4754: add command to be used to run diagnostics testing as a comment.

9 years ago4754: update assertion to look for a data-object-uuid
Radhika Chippada [Wed, 10 Dec 2014 22:41:32 +0000 (17:41 -0500)]
4754: update assertion to look for a data-object-uuid

9 years ago4754: support RAILS_ENV=performance
Radhika Chippada [Wed, 10 Dec 2014 22:18:19 +0000 (17:18 -0500)]
4754: support RAILS_ENV=performance

9 years agoMerge branch 'master' into 4754-performance-benchmarks
Radhika Chippada [Wed, 10 Dec 2014 19:18:24 +0000 (14:18 -0500)]
Merge branch 'master' into 4754-performance-benchmarks

9 years agoMerge branch '4499-one-task-per-input-file-normalize'
Tim Pierce [Wed, 10 Dec 2014 16:26:10 +0000 (11:26 -0500)]
Merge branch '4499-one-task-per-input-file-normalize'

Fixes #4499.

9 years agoDownload bwa and samtools from a self-hosted mirror, sf.net downloads
Ward Vandewege [Wed, 10 Dec 2014 14:49:09 +0000 (09:49 -0500)]
Download bwa and samtools from a self-hosted mirror, sf.net downloads
are way too unreliable.

No issue #

9 years agoMerge branch '4293-node-manager-timed-bootstrap-wip'
Brett Smith [Wed, 10 Dec 2014 13:04:08 +0000 (08:04 -0500)]
Merge branch '4293-node-manager-timed-bootstrap-wip'

Closes #4293, #4732.  Refs #4380.

9 years ago4293: Node Manager shuts down nodes that fail to boot.
Brett Smith [Fri, 5 Dec 2014 22:27:37 +0000 (17:27 -0500)]
4293: Node Manager shuts down nodes that fail to boot.

This helps Node Manager detect and correct when a node fails to
bootstrap.

9 years ago4380: Node Manager SLURM dispatcher proceeds from more states.
Brett Smith [Fri, 5 Dec 2014 22:45:13 +0000 (17:45 -0500)]
4380: Node Manager SLURM dispatcher proceeds from more states.

Per discussion with Ward.  Our main concern is that Node Manager
shouldn't shut down nodes that are doing work.  We feel comfortable
broadening the definition of "not doing work" to this set of states.

9 years agoMerge branch '3781-browser-upload' closes #3781
Tom Clegg [Wed, 10 Dec 2014 07:15:13 +0000 (02:15 -0500)]
Merge branch '3781-browser-upload' closes #3781

9 years ago3781: Fix test that assumes only one empty collection is readable.
Tom Clegg [Wed, 10 Dec 2014 05:54:23 +0000 (00:54 -0500)]
3781: Fix test that assumes only one empty collection is readable.
Wait longer for browser timeout in upload-fail test.

9 years ago3781: Merge branch 'master' into 3781-browser-upload
Tom Clegg [Wed, 10 Dec 2014 05:00:51 +0000 (00:00 -0500)]
3781: Merge branch 'master' into 3781-browser-upload

9 years ago4754: move search test into browsing_test.rb instead of having its own file.
Radhika Chippada [Wed, 10 Dec 2014 01:31:02 +0000 (20:31 -0500)]
4754: move search test into browsing_test.rb instead of having its own file.

9 years ago4754: search_test assertions
Radhika Chippada [Tue, 9 Dec 2014 21:57:06 +0000 (16:57 -0500)]
4754: search_test assertions

9 years ago3781: Add singletest function.
Tom Clegg [Tue, 9 Dec 2014 21:44:50 +0000 (16:44 -0500)]
3781: Add singletest function.

9 years ago3781: Add test cases: empty files, renaming, and error reporting.
Tom Clegg [Tue, 9 Dec 2014 21:44:00 +0000 (16:44 -0500)]
3781: Add test cases: empty files, renaming, and error reporting.

9 years ago4754: add rails-perftest and ruby-prof gems to enable performance benchmarking and...
Radhika Chippada [Tue, 9 Dec 2014 21:18:50 +0000 (16:18 -0500)]
4754: add rails-perftest and ruby-prof gems to enable performance benchmarking and add search_test.rb

9 years ago4499: Normalize manifest in one_task_per_input_file
Tim Pierce [Mon, 8 Dec 2014 18:53:02 +0000 (13:53 -0500)]
4499: Normalize manifest in one_task_per_input_file

* arvados.job_setup.one_task_per_input_file now calls cr.normalize()
  before creating tasks.

* Added unit test in test_sdk.py to confirm that the expected number of
  tasks are created when called on a normalized manifest.

9 years ago4027: Update arvados-cli in API server bundle.
Brett Smith [Tue, 9 Dec 2014 15:21:28 +0000 (10:21 -0500)]
4027: Update arvados-cli in API server bundle.

Refs #4027.

9 years agoMerge branch '4027-crunch-sdk-install-wip'
Brett Smith [Tue, 9 Dec 2014 15:14:30 +0000 (10:14 -0500)]
Merge branch '4027-crunch-sdk-install-wip'

Closes #4027, #4667.

9 years ago4027: crunch-job logs its own version information.
Brett Smith [Mon, 8 Dec 2014 15:45:23 +0000 (10:45 -0500)]
4027: crunch-job logs its own version information.

By request in code review, to help detect situations where
crunch-dispatch and crunch-job are out of sync.

9 years ago4027: Crunch installs jobs' requested arvados_sdk_version.
Brett Smith [Mon, 24 Nov 2014 21:55:38 +0000 (16:55 -0500)]
4027: Crunch installs jobs' requested arvados_sdk_version.

* crunch-dispatch fetches the requested SDK version into its internal
  git repository, just like it does for the Crunch script.  Refactored
  crunch-dispatch to make that code reusable.

* crunch-job's main script archives the sdk subdirectory as of that
  commit, sending it along to compute nodes in the same .tar as the
  Crunch script, under .arvados.sdk.

* crunch-job's __DATA__ dispatch section looks for the SDK under
  .arvados.sdk, and installs it as much as possible.

Since I was messing with it so much already, I changed the semantics
of crunch-job's __DATA__ section: it is now either in installation
mode or run mode, based on whether there's anything in @ARGV.  I
confirmed that this is consistent with current calls to the section.

9 years ago4027: arvados/jobs includes virtualenv.
Brett Smith [Mon, 8 Dec 2014 23:15:39 +0000 (18:15 -0500)]
4027: arvados/jobs includes virtualenv.

This lets you use the arvados/jobs image with the arvados_sdk_version
feature of Crunch.

9 years ago4027: Bugfix update-gitolite.rb in Docker.
Brett Smith [Mon, 24 Nov 2014 20:53:44 +0000 (15:53 -0500)]
4027: Bugfix update-gitolite.rb in Docker.

* Load a YAML library.

* Support ARVADOS_API_HOST_INSECURE, and set it in normal Docker use.

9 years ago4027: Revamp SSH use in our Docker images.
Brett Smith [Mon, 24 Nov 2014 20:53:00 +0000 (15:53 -0500)]
4027: Revamp SSH use in our Docker images.

* Don't install or run SSH in most of our Docker images.  `docker
  exec` is now preferred to inspect running images.

* Do run SSH on the API server, always, for Gitolite.

There is a feature regression here: the user's SSH key is not
automatically installed on the shell account.  This needs to be fixed
another way.  In the meantime, it's not difficult to run
`docker exec -ti --user=self shell /bin/bash`, and you can clone the
repository from the host system.

9 years ago3781: Fix trigger() usage: second argument is an array of handler args.
Tom Clegg [Tue, 9 Dec 2014 08:37:48 +0000 (03:37 -0500)]
3781: Fix trigger() usage: second argument is an array of handler args.

9 years ago3781: Fix progress% (100, not NaN) and manifest format (>=1 data locator) for zero...
Tom Clegg [Tue, 9 Dec 2014 08:02:15 +0000 (03:02 -0500)]
3781: Fix progress% (100, not NaN) and manifest format (>=1 data locator) for zero-byte files.

9 years agoMerge branch '4269-no-collection-uuid-in-script-params'
Tim Pierce [Mon, 8 Dec 2014 22:02:33 +0000 (17:02 -0500)]
Merge branch '4269-no-collection-uuid-in-script-params'

Refs #4269.

9 years ago4269: clean up uuid regex matching
Tim Pierce [Mon, 8 Dec 2014 21:44:17 +0000 (16:44 -0500)]
4269: clean up uuid regex matching

Code review feedback:

* Improved name for validation "no_collection_uuids" to
  "ensure_no_collection_uuids_in_script_params"

* Added ArvadosModel.uuid_regex (along the lines of uuid_like_pattern)
  and substituted it for hardcoded uuid regexes throughout the code.

9 years agocloses #4477
Radhika Chippada [Mon, 8 Dec 2014 21:34:05 +0000 (16:34 -0500)]
closes #4477
closes #4719
Merge branch '4477-no-job-log'

9 years ago3781: Go to "Done!" state when the last upload completes despite a late call to stop().
Tom Clegg [Mon, 8 Dec 2014 20:26:52 +0000 (15:26 -0500)]
3781: Go to "Done!" state when the last upload completes despite a late call to stop().

9 years ago3781: Fix use of committed flag. That is now called state==="Done".
Tom Clegg [Mon, 8 Dec 2014 18:59:45 +0000 (13:59 -0500)]
3781: Fix use of committed flag. That is now called state==="Done".

9 years ago3781: Fix exaggerated claims of being finished.
Tom Clegg [Mon, 8 Dec 2014 18:58:25 +0000 (13:58 -0500)]
3781: Fix exaggerated claims of being finished.

9 years ago3781: Merge branch 'master' into 3781-browser-upload
Tom Clegg [Mon, 8 Dec 2014 18:49:27 +0000 (13:49 -0500)]
3781: Merge branch 'master' into 3781-browser-upload

9 years agoReset listener=nil before running main() from test cases, so
Tom Clegg [Sun, 7 Dec 2014 23:09:00 +0000 (18:09 -0500)]
Reset listener=nil before running main() from test cases, so
waitForListener() does not get confused by listener!=nil left over
from previous tests. Fixes intermittent test failures.

refs #3828

9 years ago4533: Wait up to 10s for "lock tables". refs #4533
Tom Clegg [Sun, 7 Dec 2014 08:06:04 +0000 (03:06 -0500)]
4533: Wait up to 10s for "lock tables". refs #4533

9 years ago3781: Update tests.
Tom Clegg [Sat, 6 Dec 2014 02:13:31 +0000 (21:13 -0500)]
3781: Update tests.

9 years ago3781: Merge branch 'master' into 3781-browser-upload
Tom Clegg [Sat, 6 Dec 2014 01:46:05 +0000 (20:46 -0500)]
3781: Merge branch 'master' into 3781-browser-upload

9 years ago3781: Add ng-cloak style.
Tom Clegg [Sat, 6 Dec 2014 01:36:23 +0000 (20:36 -0500)]
3781: Add ng-cloak style.

9 years ago3781: Add Uploaded state, fix handling of Pause during appendToCollection.
Tom Clegg [Sat, 6 Dec 2014 01:02:28 +0000 (20:02 -0500)]
3781: Add Uploaded state, fix handling of Pause during appendToCollection.

9 years ago3781: Do not portray "stopped" state as an error if it was reached by clicking Pause.
Tom Clegg [Fri, 5 Dec 2014 23:00:40 +0000 (18:00 -0500)]
3781: Do not portray "stopped" state as an error if it was reached by clicking Pause.

9 years ago3781: Tweak link text. Remove redundant title attributes.
Tom Clegg [Fri, 5 Dec 2014 22:45:05 +0000 (17:45 -0500)]
3781: Tweak link text. Remove redundant title attributes.

9 years agoMerge branch '4156-no-gemfile-lock-for-gem' refs #4156
Tom Clegg [Fri, 5 Dec 2014 18:25:12 +0000 (13:25 -0500)]
Merge branch '4156-no-gemfile-lock-for-gem' refs #4156

9 years ago4533: Lock all tables, not just the ones with fixtures. refs #4533
Tom Clegg [Fri, 5 Dec 2014 18:24:49 +0000 (13:24 -0500)]
4533: Lock all tables, not just the ones with fixtures. refs #4533

9 years ago3781: Fix more {==,!=} -> {===,!==}.
Tom Clegg [Fri, 5 Dec 2014 18:07:48 +0000 (13:07 -0500)]
3781: Fix more {==,!=} -> {===,!==}.

9 years agoMerge branch '4314-trigger-job-update' closes #4314
Peter Amstutz [Fri, 5 Dec 2014 15:44:07 +0000 (10:44 -0500)]
Merge branch '4314-trigger-job-update' closes #4314

9 years agocloses #4559
Radhika Chippada [Fri, 5 Dec 2014 15:15:44 +0000 (10:15 -0500)]
closes #4559
Merge branch '4559-long-component-names'

9 years ago4559: missing quote
Radhika Chippada [Fri, 5 Dec 2014 15:14:42 +0000 (10:14 -0500)]
4559: missing quote

9 years agoMerge branch 'master' into 4559-long-component-names
Radhika Chippada [Fri, 5 Dec 2014 15:10:01 +0000 (10:10 -0500)]
Merge branch 'master' into 4559-long-component-names

9 years agocloses #4638
Radhika Chippada [Fri, 5 Dec 2014 14:58:04 +0000 (09:58 -0500)]
closes #4638
Merge branch '4638-ssh-notification'

9 years agoMerge branch 'master' into 4638-ssh-notification
Radhika Chippada [Fri, 5 Dec 2014 14:57:39 +0000 (09:57 -0500)]
Merge branch 'master' into 4638-ssh-notification

9 years ago4638: update test to reflect link text change.
Radhika Chippada [Fri, 5 Dec 2014 14:57:12 +0000 (09:57 -0500)]
4638: update test to reflect link text change.

9 years agocloses #4638
Radhika Chippada [Fri, 5 Dec 2014 14:34:32 +0000 (09:34 -0500)]
closes #4638
Merge branch '4638-ssh-notification'

9 years ago4638: update link text
Radhika Chippada [Fri, 5 Dec 2014 14:33:33 +0000 (09:33 -0500)]
4638: update link text

9 years agoMerge branch 'master' into 4638-ssh-notification
Radhika Chippada [Fri, 5 Dec 2014 14:22:53 +0000 (09:22 -0500)]
Merge branch 'master' into 4638-ssh-notification

9 years ago4465: Link to arvados.org revision history instead of github.com code view.
Tom Clegg [Fri, 5 Dec 2014 06:49:26 +0000 (01:49 -0500)]
4465: Link to arvados.org revision history instead of github.com code view.

Also, remove spurious helper inclusions, and fix 'locally modified'
detection (it was broken because "" is truthy).

refs #4465

9 years ago3781: One less Regexp.
Tom Clegg [Thu, 4 Dec 2014 22:58:51 +0000 (17:58 -0500)]
3781: One less Regexp.

9 years ago3781: Use regexp instead of split: avoid making big arrays when working on big manifests.
Tom Clegg [Thu, 4 Dec 2014 22:43:49 +0000 (17:43 -0500)]
3781: Use regexp instead of split: avoid making big arrays when working on big manifests.

9 years ago4269: added job validation forbidding collection uuids
Tim Pierce [Thu, 4 Dec 2014 22:12:57 +0000 (17:12 -0500)]
4269: added job validation forbidding collection uuids

Added Job validation no_collection_uuids, searching recursively through
script_parameters for any field matching a collection uuid pattern.

9 years ago4719: change "There are currently no job in the queue" to "your" queue.
Radhika Chippada [Thu, 4 Dec 2014 21:38:52 +0000 (16:38 -0500)]
4719: change "There are currently no job in the queue" to "your" queue.

9 years ago4477: don't crash on no job log
Radhika Chippada [Thu, 4 Dec 2014 21:28:50 +0000 (16:28 -0500)]
4477: don't crash on no job log

9 years ago3781: Fix push-to-bottom-when-Done so it works on the last item, too.
Tom Clegg [Thu, 4 Dec 2014 21:24:55 +0000 (16:24 -0500)]
3781: Fix push-to-bottom-when-Done so it works on the last item, too.

9 years agocloses #4525
Radhika Chippada [Thu, 4 Dec 2014 21:05:27 +0000 (16:05 -0500)]
closes #4525
closes #4694
Merge branch '4525-remove-stale-clippy-code'

9 years ago3781: Fix up dropdown: match appearance of other buttons, tweak wording,
Tom Clegg [Thu, 4 Dec 2014 21:00:03 +0000 (16:00 -0500)]
3781: Fix up dropdown: match appearance of other buttons, tweak wording,
remove min-width style (which was added for clippy, but has been
affecting all dropdowns).

9 years ago4525: when dataclass is Class, return attrvalue similar to the Array case.
Radhika Chippada [Thu, 4 Dec 2014 20:58:00 +0000 (15:58 -0500)]
4525: when dataclass is Class, return attrvalue similar to the Array case.

9 years ago4525: delete assets/stylesheets/selection.css
Radhika Chippada [Thu, 4 Dec 2014 20:23:11 +0000 (15:23 -0500)]
4525: delete assets/stylesheets/selection.css

9 years ago3781: Use $.each for simple loops.
Tom Clegg [Thu, 4 Dec 2014 20:04:44 +0000 (15:04 -0500)]
3781: Use $.each for simple loops.

9 years ago3781: Deobfuscate.
Tom Clegg [Thu, 4 Dec 2014 19:59:57 +0000 (14:59 -0500)]
3781: Deobfuscate.

9 years ago3781: Use ===, !== instead of ==, !=
Tom Clegg [Thu, 4 Dec 2014 19:34:23 +0000 (14:34 -0500)]
3781: Use ===, !== instead of ==, !=

9 years ago3781: Fix error message, and add actual error detection.
Tom Clegg [Thu, 4 Dec 2014 19:03:13 +0000 (14:03 -0500)]
3781: Fix error message, and add actual error detection.

9 years ago4525: link_to to be used when dataclass is a String or Fixnum
Radhika Chippada [Thu, 4 Dec 2014 18:48:10 +0000 (13:48 -0500)]
4525: link_to to be used when dataclass is a String or Fixnum

9 years ago3781: Fix up comments.
Tom Clegg [Thu, 4 Dec 2014 18:39:04 +0000 (13:39 -0500)]
3781: Fix up comments.

9 years ago3781: Disable start button when there is nothing to do.
Tom Clegg [Thu, 4 Dec 2014 18:34:59 +0000 (13:34 -0500)]
3781: Disable start button when there is nothing to do.

9 years ago3781: Report as KiB instead of K.
Tom Clegg [Thu, 4 Dec 2014 18:16:27 +0000 (13:16 -0500)]
3781: Report as KiB instead of K.

9 years ago4525: keep link_to in application_helper, which will be used when attr value is a...
Radhika Chippada [Thu, 4 Dec 2014 18:32:00 +0000 (13:32 -0500)]
4525: keep link_to in application_helper, which will be used when attr value is a String or Fixnum etc

9 years ago4525: remove add_form_selection_sources (one more time) and all references.
radhika [Thu, 4 Dec 2014 18:12:23 +0000 (13:12 -0500)]
4525: remove add_form_selection_sources (one more time) and all references.

9 years ago3781: Merge branch 'master' into 3781-browser-upload
Tom Clegg [Thu, 4 Dec 2014 18:03:20 +0000 (13:03 -0500)]
3781: Merge branch 'master' into 3781-browser-upload

Conflicts:
apps/workbench/app/assets/javascripts/application.js
apps/workbench/app/views/projects/show.html.erb

9 years agoMerge branch 'master' into 4525-remove-stale-clippy-code
radhika [Thu, 4 Dec 2014 17:25:51 +0000 (12:25 -0500)]
Merge branch 'master' into 4525-remove-stale-clippy-code

9 years agoMerge branch '4465-workbench-version-links'
Tim Pierce [Thu, 4 Dec 2014 16:48:27 +0000 (11:48 -0500)]
Merge branch '4465-workbench-version-links'

Fixes #4465.

9 years ago4465: add trailing /? to regexes
Tim Pierce [Thu, 4 Dec 2014 16:47:22 +0000 (11:47 -0500)]
4465: add trailing /? to regexes

Per code review @ #4465-7

9 years ago4465: test for regex link targets
Tim Pierce [Thu, 4 Dec 2014 16:26:58 +0000 (11:26 -0500)]
4465: test for regex link targets

The goal of this story is that the "report issue" dialog includes links
to a Github or Redmine page corresponding to the software versions for
Workbench and the API server, so the test should ensure not just that
there's a link with a given text, but that its target is a Github page
corresponding to a hexadecimal commit hash.