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

Workflow for building on macOS #31

Closed
wants to merge 7 commits into from
Closed

Workflow for building on macOS #31

wants to merge 7 commits into from

Conversation

jwodder
Copy link
Member

@jwodder jwodder commented Sep 10, 2020

This is (for now) just a draft created in order to trigger a build and make sure things are working.

@yarikoptic
Copy link
Member

Wow -- you "translated" all test scenarios. the "crippled-home" seems stuck -- running for 3h and no output. I think I had a similar problem before: https://github.community/t/no-log-at-all-online-or-in-bundled-download-for-the-last-step-in-the-action/18527 which I forgot details of the resolution, so it might indeed have been what I stated in the last comment there. I also remember that OSX build of git-annex had issues with "too many open files" but why would it be on crippled FS?

For now (or forever) IMHO it is ok to kick out crippled-home test scenario, unless you could easily replicate locally on your laptop and report back. Unlikely (I hope!) any user on OSX will have their home on some crippled FS.

Copy link
Member

@yarikoptic yarikoptic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left a comment to add version info

but I also wonder what in the longer run would be the best way to reuse step definitions across workflows? we could use jinja2 for these as well as we do for testing extensions, but may be there is a better way now?

run: |
echo "::add-path::/Applications/git-annex.app/Contents/MacOS"

- name: Checkout this repository for scripts/ci
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add here a step which would print the version since ATM we follow original build close and git-annex.dmg does not include version in its filename (unlike what we have for .deb packages, so it is possible to discover version really easy). FWIW -- we could have that step in both linux and osx workflow. git annex version output could be generally useful since summarizes build params etc

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@yarikoptic
Copy link
Member

I have canceled it and

log appeared -- seems to be a legit issue -- got stuck!
Detected a filesystem without fifo support.
  Disabling ssh connection caching.
  Filesystem allows writing to files whose write bit is not set.
  Detected a crippled filesystem.
  Disabling core.symlinks.
  Entering an adjusted branch where files are unlocked as this filesystem does not support locked files.
Switched to branch 'adjusted/master(unlocked)'
git-annex: openFile: resource busy (file is locked)
      init:                                               FAIL (2.18s)
        Test.hs:249:
        init failed
      unavailable remote
##[error]The operation was canceled.

reported against git-annex

@jwodder
Copy link
Member Author

jwodder commented Sep 11, 2020

For now (or forever) IMHO it is ok to kick out crippled-home test scenario, unless you could easily replicate locally on your laptop and report back.

I can replicate the problem on my computer; using a FAT32 image as $HOME causes git annex test to hang indefinitely a couple seconds in. I don't know why it's happening, though.

needs: build-package
strategy:
matrix:
flavor: [normal, crippled-tmp, crippled-home]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just remove crippled-home from this list with a comment and url to git annex issue to readd it whenever joey fixes it. I need to do that for the NFS testing I had added recently but had to disable: https://github.com/datalad/datalad-extensions/blob/master/.github/workflows/build-git-annex-debianstandalone.yaml#L60 That issue is fixed in annex but build is failing -- yet to finish troubleshooting in #32

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with a comment and url to git annex issue

URL to what issue? #30? This PR? Something else?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

git annex issue: https://git-annex.branchable.com/bugs/gets_stuck_in_Remote_Tests___40____63____41___while_running_on_OSX_with_HOME_on_crippled_FS/?updated since that is the one, when fixed, would let us add crippled-home back to the matrix

@yarikoptic
Copy link
Member

ssh setup for testing didn't work out: setup-docker-ssh: line 74: docker: command not found - I guess docker to be installed . Make script fail (set -eu) as soon as some command (or there is undefined variable - u portion) within it fails.

@jwodder
Copy link
Member Author

jwodder commented Sep 14, 2020

ssh setup for testing didn't work out: setup-docker-ssh: line 74: docker: command not found - I guess docker to be installed . Make script fail (set -eu) as soon as some command (or there is undefined variable - u portion) within it fails.

The setup-docker-ssh script is from https://github.com/datalad-tester/docker-ssh-target. It might be better to remove the "master" and "maint" versions from the test-datalad matrix, as those are the ones that use Docker.

@yarikoptic
Copy link
Member

we have switched to use dockerized setup for ssh testing recently in datalad. Why to remove them and not just to install docker ?

@jwodder
Copy link
Member Author

jwodder commented Sep 14, 2020

Never mind. I've added a step that I think should install Docker, and I've created a PR for adding "set -eu" to the appropriate script: datalad/datalad#4920

run: |
if [ "${{ matrix.version }}" != "release" ]; then
curl -fSsL \
https://raw.githubusercontent.com/datalad/datalad/master/tools/ci/prep-travis-forssh.sh \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry - I have merged the set -eu in maint only for now... it will get to master eventually. no need to change this up ATM.

@yarikoptic
Copy link
Member

superseded by #33

@yarikoptic yarikoptic closed this Sep 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants