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

[Total Automation] CI/CD for autobot #37

Open
8 tasks
jmuchovej opened this issue Dec 17, 2019 · 7 comments
Open
8 tasks

[Total Automation] CI/CD for autobot #37

jmuchovej opened this issue Dec 17, 2019 · 7 comments
Assignees
Labels
👷‍♂️ tool:CI/CD 🎆 feature-request 🔑 required Tasks that **need** to be completed, ASAP. 📝 todo Items in still in ideation, discovery, or planning "mode."

Comments

@jmuchovej
Copy link
Member

jmuchovej commented Dec 17, 2019

Just a note, when referring to groups... groups := {intelligence, core, data-science, supplementary}

Feature Request, for autobot

Description Whenever new features are added to autobot, run unit-tests to check for code-breaking changes on the incoming PR.

Needs

Flesh out tests/

  • Check all directory creation (with respect to semesters as well as individual meetings)
    • For each group repo in groups
    • For each group website directory in groups
  • Check Kaggle Kernel push continues functioning
  • Check that Facebook banner generation works
    • Probably just needs a binary/checksum diff on a known, correct, image.
  • Check that NotebookExporter produces...
    • Valid "non-solution" notebook
    • Valid website entry

Initial Comments

  • Recommendations We currently us Travis CI to perform the website rebuilds. Travis is great, but is doesn't integrate with GitHub organizations (unless we pay for it).
    Check out GitHub Actions and see if we can use this, initially, for unit-testing.
  • Based on the performance of GitHub Actions, let's try generalizing to [Total Automation] Validate each meeting's PR #38? A huge problem with Travis was that we had no way to properly cache the build image, so each PR would take 10-15min to run.
    If there's no way around this, fine – but the actual tests should take a few minutes, so if we have a way to just rely on running the tests, that's definitely ideal!
@jmuchovej jmuchovej added 📝 todo Items in still in ideation, discovery, or planning "mode." 🔑 required Tasks that **need** to be completed, ASAP. 👷‍♂️ tool:CI/CD labels Dec 17, 2019
@jmuchovej jmuchovej added this to the Winter 2019 Upgrade milestone Dec 17, 2019
@jmuchovej jmuchovej changed the title [Total Automation] Integrate "cascade" CI [Total Automation] CI/CD for autobot Dec 17, 2019
@Haugf
Copy link
Collaborator

Haugf commented Dec 17, 2019

Hey John, we're thinking about adding a tests/ folder under autobot/, can we go over making and testing these unit tests later?

@jmuchovej
Copy link
Member Author

jmuchovej commented Dec 17, 2019

hmm, so... looking at StackOverflow and at py.test...
it's kinda, "up to us" to organize the folders. personally, behind the idea of throwing all the tests into a mirrored directory structure that's separate from autobot's source.

so... it would look something like this:

...
autobot
tests  <---
setup.py
...

also, would be useful to get a summary of unittest vs py.test, never used the latter; so i'm unsure, but it seems like it's a better library than unittest.

@Haugf
Copy link
Collaborator

Haugf commented Dec 17, 2019

pyTest has some self explanatory syntax and it is also the default test package for git actions.

I think this is the better choice

@jmuchovej
Copy link
Member Author

alright, sweet. try to keep track of edits/changes in the conda environment files in envs/?

@jmuchovej jmuchovej assigned Haugf and unassigned SirRoboto, Ch1pless and jmuchovej Dec 17, 2019
@Haugf
Copy link
Collaborator

Haugf commented Dec 18, 2019

Are the conda environment files the linux and macos .yml files?

@jmuchovej
Copy link
Member Author

Are the conda environment files the linux and macos .yml files?

yep! ignore anything else in that folder, for now – i think the "requirements" that show up are for conda explicitly (since you can use pip there, but please do so only as a last resort.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
👷‍♂️ tool:CI/CD 🎆 feature-request 🔑 required Tasks that **need** to be completed, ASAP. 📝 todo Items in still in ideation, discovery, or planning "mode."
Projects
None yet
Development

No branches or pull requests

5 participants