Skip to content

Instantly share code, notes, and snippets.

@zeryx
Created January 24, 2020 17:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeryx/a482f996aa40179aeafc58efd36e375a to your computer and use it in GitHub Desktop.
Save zeryx/a482f996aa40179aeafc58efd36e375a to your computer and use it in GitHub Desktop.

Steps required to deploy a new dependency package

Langpacks

  1. Create new langpacks branch, from latest master
    • eg: git checkout -b ALGO-xxx-package-name
  2. create new directory in libraries
    • eg: package-name-version
  3. create new Dockerfile in new package directory
  4. copy existing dependency template to new directory
    • eg: cp -LrR templates/package-name-version-1 templates/package-name-version
    • Update as necessary
  5. run packageset_validator in tools to test it works
    • eg: ./tools/packageset_validator.py -g python3 -s python37 -d tensorflow-gpu-2.1 -t dependency -n tensorflow-gpu-2.1
    • If it doesn't work, lets figure out why not at this stage before moving forward
  6. Push to langpacks repo, open a PR
    • get algo team & kenny to review, provide packageset_validator commands for reviewers to test locally
  7. Merge PR into master

Legit

  1. Create a new branch in legit, using git flow
    • git flow feature create ALGO-xxx-package-name
  2. copy latest langpacks master hash (including the changes you made) to the LANGPACKS_VERSION variable in docker/algorithmia/legit/Dockerfile in a new branch
  3. Open a PR in legit with your langpack version change
    • Get infrastructure team approval, ensure CI tools path; merge into develop

Stagetools

  1. Create a new branch in stagetools, using gitflow
    • git flow feature create ALGO-xxx-package-name
  2. Create stagetools packageset registration file in deployment/scripts/packages/beta
    • You can copy the a previous version's package set file, and tweak the variables to use the latest package that you created in langpacks.
  3. Create a new PR
    • Get infrastructure team approval, ensure CI tools pass; merge into develop
  • Wait for next test deploy or if urgent, request a supplimentary test deploy from the secondary oncall
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment