Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: initial Singularity recipe to provide an image to build git-annex for bisection #2995

Merged
merged 11 commits into from Nov 20, 2018

Conversation

@yarikoptic
Copy link
Member

@yarikoptic yarikoptic commented Nov 14, 2018

Should provide a build environment to deploy on some other box (e.g. CentOS) so we could build and bisect git-annex

TODOs:

  • supplement with the bisection script, which would mimic git bisect in API but would use this singularity image to make standalone install DESTDIR=somewhere first and make that built version available for the bisection script run

"inspiration": http://git-annex.branchable.com/bugs/multiple_ssh_prompts__44___and_thread_blocked_indefinitely_in_an___63____63____63___transaction/#comment-89f62985af5dd49438a578851e4d541f

Attn @joeyh

@codecov
Copy link

@codecov codecov bot commented Nov 15, 2018

Codecov Report

Merging #2995 into master will increase coverage by <.01%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2995      +/-   ##
==========================================
+ Coverage   90.35%   90.36%   +<.01%     
==========================================
  Files         245      245              
  Lines       32259    32269      +10     
==========================================
+ Hits        29149    29160      +11     
+ Misses       3110     3109       -1
Impacted Files Coverage Δ
datalad/interface/run.py 100% <0%> (ø) ⬆️
datalad/interface/tests/test_run.py 99.83% <0%> (ø) ⬆️
datalad/support/tests/test_annexrepo.py 96.4% <0%> (+0.07%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fc6a0fe...5d61bb8. Read the comment docs.

yarikoptic and others added 3 commits Nov 15, 2018
…be ran within one already

also sanitize singularity exec  with -e so it does not try to install
system wide or take outside version of git
Copy link
Contributor

@kyleam kyleam left a comment

I've tested this locally, and it seems to work as advertised. I've pushed a revision to tools/bisect-git-annex. Please revert/tweak anything that you don't like or is incorrect.


SINGULARITY_IMAGE=$(readlink -f "$SINGULARITY_IMAGE")
annex_gitver=$(git describe)
logfile=$PWD/.git/logs/git-annex-build-$annex_gitver.log
Copy link
Contributor

@kyleam kyleam Nov 15, 2018

Probably doesn't matter in practice, but it seems inappropriate to store the log in git's reflog directory. Why not use a temporary path?

Copy link
Member Author

@yarikoptic yarikoptic Nov 20, 2018

things get lost in temporary path since then you need to have a temporary filename etc.
but indeed, I thought this logs/ it is more generic than reflogs -- just curious what else could there be other than HEAD?
anyways -- will now RF to use mktemp -p '' git-annex-build-${annex_gitver}-XXXXXX.log instead, testing now and will push.
With that I will consider this PR done - it already served its purpose ;-)

@yarikoptic
Copy link
Member Author

@yarikoptic yarikoptic commented Nov 20, 2018

appveyor is a known thing nobody cares about, merging!

@yarikoptic yarikoptic merged commit 094b83a into datalad:master Nov 20, 2018
6 of 7 checks passed
@yarikoptic yarikoptic deleted the enh-sing-git-annex-dev branch Nov 21, 2018
@yarikoptic yarikoptic added this to the Release 0.11.1 milestone Nov 24, 2018
yarikoptic added a commit that referenced this issue Nov 27, 2018
	## 0.11.1 (Nov 25, 2018) -- v7-better-than-v6

	Rushed out bugfix release to stay fully compatible with recent
	[git-annex] which introduced v7 to replace v6.

	### Fixes

	- [install]: be able to install recursively into a dataset ([#2982])
	- [save]: be able to commit/save changes whenever files potentially
	  could have swapped their storage between git and annex
	  ([#1651]) ([#2752]) ([#3009])
	- [aggregate-metadata]:
	  - dataset's itself is now not "aggregated" if specific paths are
		provided for aggregation ([#3002]). That resolves the issue of
		`-r` invocation aggregating all subdatasets of the specified dataset
		as well
	  - also compare/verify the actual content checksum of aggregated metadata
		while considering subdataset metadata for re-aggregation ([#3007])
	- `annex` commands are now chunked assuming 50% "safety margin" on the
	  maximal command line length. Should resolve crashes while operating
	  ot too many files at ones ([#3001])
	- `run` sidecar config processing ([#2991])
	- no double trailing period in docs ([#2984])
	- correct identification of the repository with symlinks in the paths
	  in the tests ([#2972])
	- re-evaluation of dataset properties in case of dataset changes ([#2946])
	- [text2git] procedure to use `ds.repo.set_gitattributes`
	  ([#2974]) ([#2954])
	- Switch to use plain `os.getcwd()` if inconsistency with env var
	  `$PWD` is detected ([#2914])
	- Make sure that credential defined in env var takes precedence
	  ([#2960]) ([#2950])

	### Enhancements and new features

	- [shub://datalad/datalad:git-annex-dev](https://singularity-hub.org/containers/5663/view)
	  provides a Debian buster Singularity image with build environment for
	  [git-annex]. [tools/bisect-git-annex]() provides a helper for running
	  `git bisect` on git-annex using that Singularity container ([#2995])
	- Added [.zenodo.json]() for better integration with Zenodo for citation
	- [run-procedure] now provides names and help messages with a custom
	  renderer for ([#2993])
	- Documentation: point to [datalad-revolution] extension (prototype of
	  the greater DataLad future)
	- [run]
	  - support injecting of a detached command ([#2937])
	- `annex` metadata extractor now extracts `annex.key` metadata record.
	  Should allow now to identify uses of specific files etc ([#2952])
	- Test that we can install from http://datasets.datalad.org
	- Proper rendering of `CommandError` (e.g. in case of "out of space"
	  error) ([#2958])

* tag '0.11.1':
  Adjust the date -- 25th fell through due to __version__ fiasco
  BF+ENH(TST): boost hardcoded version + provide a test to guarantee consistency in the future
  This (expensive) approach is not needed in v6+
  small tuneup to changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants