Code Monkey home page Code Monkey logo

builder's Introduction

pytorch builder

Scripts to build pytorch in Jenkins / Nimbix for continuous integration and building binaries

Getting started

  • Setup an ec2 machine according to instructions from docs/ec2instance.md
  • Sign up for NIMBIX according to instructions from docs/nimbixsignup.md
  • Create a github bot called "pytorchbot" according to instructions from docs/githubconfiguration.md
  • On the ec2 machine, setup an ssh key and add it to the "pytorchbot" github account
  • SSH into the ec2 instance, and run:
cd ~/
sudo apt-get update -y
sudo apt-get install -y git
git clone [email protected]:pytorch/builder.git
cp builder/config.yaml.templ builder/config.yaml
  • Change the jenkinspassword and shared_secret in builder/config.yaml
  • Then run this and follow instructions:
bash builder/installjenkins.sh
  • Then start jenkins
bash builder/runjenkins.sh
  • Follow the instructions in docs/jenkins.md

  • Follow the instructions in docs/wrapperinstancesetup.md

  • Finally, run these commands so that http://build.pytorch.org gets forwarded to https:// automatically

sudo apt-get install -y nginx
sudo service nginx stop
sudo rm /etc/nginx/sites-enabled/default
cat <<EOF | sudo tee /etc/nginx/sites-available/redirect-https
server {
    listen         80;
	return 302 https://\$host\$request_uri;
}
EOF
sudo ln -sf /etc/nginx/sites-available/redirect-https /etc/nginx/sites-enabled/redirect-https
sudo service nginx start
  • email notifications
sudo apt-get install mailutils
# then enable email notifications in jenkins

Renew certificates for letsencrypt

How do the bots work?

The GitHub Pull Request builder Jenkins plugin comes with a bot that can listen for comments on PRs and take actions accordingly. The supported commands are:

  • "@pytorchbot ok to test" to accept this pull request for testing
  • "@pytorchbot test this please" for a one time test run
  • "@pytorchbot add to whitelist" to add the author to the whitelist
  • "@pytorchbot retest this please" to start a new build (if the build failed)

You have to be an 'admin' of the particular Jenkins project in order to issue these commands. Go to the 'configure' page of the project in question and search for "Admin list" (under "GitHub Pull Request Builder") and add your GitHub username. By the way, you can see the list of users who are already whitelisted by clicking the "Advanced..." button.

Testing community repos

First, build a docker image in the main pytorch repo, with the desired version:

cd pytorch/pytorch
git checkout v0.3.0
sudo docker build -t pytorch-v0.3.0 .

Next, run the docker

cd pytorch/builder/test_community_repos
sudo nvidia-docker run -it --rm -v $(pwd):/remote pytorch-v0.3.0:latest

Inside the docker,

cd /remote/
./run_all.sh

builder's People

Contributors

alykhantejani avatar apaszke avatar chsasank avatar colesbury avatar ezyang avatar hughperkins avatar killeent avatar pytorchbot avatar soumith avatar ssnl avatar zou3519 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.