Size: 7496
Comment: glext
|
Size: 7682
Comment: OpenGL on windows
|
Deletions are marked like this. | Additions are marked like this. |
Line 40: | Line 40: |
1. OpenGL: cmake toolchain file, GL/ folder removed: Linux and Mac have one glext.h. On Windows it is copied into program files/sdk... and downloaded on appveyor as part of env setup. |
Under Construction
Contents
CMake
- Dependencies are from Anaconda. CMake runs conda to detect environment location and uses it to find packages.
Make targets can be listed with make help. Some convenience targets:
$ make help The following are some of the valid targets for this Makefile: ... ..... ... ..... ... PythonFiles ... test-rt ... test-py-compile ... test-verbose-broken ... test-progs ... test-verbose ... ..... ... .....
libpython can be linked statically or dynamically when python is built. It is important for python extensions to be aware of the type of linking in order to avoid segfaults. (Need a little more details, refs?)
- opengl ???
cmake <source-dir> -DENABLE_WARNINGS=OFF
- OpenGL: cmake toolchain file, GL/ folder removed: Linux and Mac have one glext.h. On Windows it is copied into program files/sdk... and downloaded on appveyor as part of env setup.
Anaconda
Feedstocks, conda-smithy, https://anaconda.org/cryoem/
- ftgl
- fftw-mpi
- openmpi
- pydusa and pydusa-feedstock
- constructor and constructor-feedstock
- eman-deps-feedstock, eman-deps-cli
- eman-packaging-feedstock
File structure, dependencies ? ABI compat
- conda
- conda-build
- constructor
Continuous Integration
GitHub webhooks
- Test source build and conda recipe build (conda-build).
- Binary builds on local build machines.
- Manually triggered build on master and non-master.
- Cron builds.
- Release binaries manually copied from cont. builds.
JenkinsCI: Jenkinsfile, binary builds
Jenkins Setup
- Triggers
GitHub webhooks
- Cron
- Binary build trigger
- Jenkins master needs PATH prepended with $CONDA_PREFIX/bin
- Jenkins Docker image, docker-coompose or docker stack deploy
- docker-compose.yml at home dir in build machines
- plugins
- config, jcasc, config.xml, users.xml, jobs/*.xml?, gpg encrypt
- Agent nodes setup, agent nodes auto-start
- Server and agent per machine vs single server and os agents
- Master only
- Master and agent per machine
- Single master and OS agents
Linux
- systemctl
docker run -d -u root -p 8080:8080 -p 50000:50000 --restart unless-stopped -v /home/eman2/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts &
docker run -d -u root --name jenkins-master -p 8080:8080 -p 50000:50000 --restart unless-stopped -v /home/eman2/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -e PLUGINS_FORCE_UPGRADE=true -e TRY_UPGRADE_IF_NO_MARKER=true --restart unless-stopped cryoem/jenkins:dev
cron:
0 0 * * * bash /home/eman2/workspace/cronjobs/cleanup_harddisk.sh
$ cat Desktop/docker.txt docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts docker run -p 8080:8080 -p 50000:50000 --restart unless-stopped jenkins/jenkins:lts docker run -p 8080:8080 -p 50000:50000 --restart unless-stopped -v /home/eman2/jenkins_home:/var/jenkins_home jenkins/jenkins:lts docker run -p 8080:8080 -p 50000:50000 --restart unless-stopped -v /var/jenkins_home:/home/eman2/jenkins_home jenkins/jenkins:lts
# Working docker run -u root -p 8080:8080 -p 50000:50000 --restart unless-stopped -v /home/eman2/jenkins_home:/var/jenkins_home jenkins/jenkins:lts docker run -u root -p 8080:8080 -p 50000:50000 --restart unless-stopped -v /home/eman2/jenkins_home:/var/jenkins_home jenkins
docker run -d -u root -p 8080:8080 -p 50000:50000 --restart unless-stopped -v /home/eman2/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts
sudo docker run -it -v /var/jenkins_home:/home/eman2/jenkins_home jenkins
startup: right-click ???
Mac
- plist
docker run -d --name jenkins-master -p 8080:8080 -p 50000:50000 -v /Users/eman/workspace/jenkins_home:/var/jenkins_home --restart unless-stopped jenkins/jenkins:lts
Auto startup: plist https://imega.club/2015/06/01/autostart-slave-jenkins-mac/ /Users/eman/Library/LaunchAgents
slave clock sync https://blog.shameerc.com/2017/03/quick-tip-fixing-time-drift-issue-on-docker-for-mac docker run --rm --privileged alpine hwclock -s
client 0 free swap space
$ cat Desktop/docker.txt docker run -p 8080:8080 -v /Users/eman/workspace/jenkins_home:/var/jenkins_home jenkins docker run -it -p 8080:8080 -v /Users/eman/workspace/jenkins_home:/var/jenkins_home --restart unless-stopped jenkins
# Working docker run -it -p 8080:8080 -v /Users/eman/workspace/jenkins_home:/var/jenkins_home --restart unless-stopped jenkins/jenkins:lts
# Blue Ocean docker run \
- -u root \ --rm \ -d \ -p 8080:8080 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean
# Latest docker run -d --name jenkins-master -p 8080:8080 -p 50000:50000 -v /Users/eman/workspace/jenkins_home:/var/jenkins_home --restart unless-stopped jenkins/jenkins:lts
FROM jenkins/jenkins:lts COPY plugins.txt /usr/share/jenkins/ref/plugins.txt RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
plugins.txt: ace-editor:latest bouncycastle-api:latest branch-api:latest chef-identity:latest
Settings: tokens slaves
Windows
Move jenkins_home http://tech.nitoyon.com/en/blog/2014/02/25/jenkins-home-win/
Run as service: Open Task Manager(Ctrl+Shift+Esc), New task, Browse to agent.jnlp and run as admin does this work? This is when starting via Web Launcher doesn't work.
currently, task scheduler works need to have miniconda pn path, set it during miniconda installation, but do not(?) register python.
While installing miniconda register python and add to PATH. Then, conda init in cmd (git init cmd.exe) and git windows (git init bash). And, maybe restart???
BUG: miniconda3 conda-build=3.17.8 adds vc14 even if python2 is requested in build reqs
OPENGL: https://github.com/conda/conda-recipes/blob/master/qt5/notes.md
Distribution
Binaries on cryoem.bcm.edu
EMAN2 on anaconda.org