6.4 Personal Assignment - Travis CI
Hide Assignment Informa on
Instructions
Software Engineering I, (Monday) Section INET
TK
Assignments 6.4 Personal Assignment - Travis CI
All students set up continuous integration for their respective individual Django projects
GitHub Repositories
All students set up Initial Test Suites ( no unit actual tests are required yet , but they are
of course welcomed ) for their respective individual Django projects that the students
submitted as part of homework 1.
This includes:
Configure Travis CI to automatically run your build on push/pull requests to github
https://docs.travis-ci.com/user/tutorial/
Configure .travis.yml file with all the following requirements in this assignment
Deploy the app to AWS EB upon successful completion of the tests following this guide:
https://docs.travis-ci.com/user/deployment/elasticbeanstalk/
Check code formatting with “black”
https://github.com/psf/black
Note that black can be used with “--check” to validate a source tree without
reformatting it
Check flake8 linter
http://flake8.pycqa.org/en/latest/
By default flake8 might conflict with black. Consider adding a rule to a .flake8 file
to set the maximum line length accepted by flake to 88 to match black
For other more specific disagreements between black and flake8 you can line-by-
line input comments that enables flake8 to ignore a particular warning. These look
like “# noqa: ”
Check test suite code coverage with coverage.py and coveralls
https://coverage.readthedocs.io/
https://coveralls.io/
https://pypi.org/project/coveralls/
Use coverage.py to run your test suite and use coveralls to report the code
coverage of those tests
10/15/24, 8:23 PM6.4 Personal Assignment - Travis CI - Software Engineering I, (Monday) Section INET - NYU
https://brightspace.nyu.edu/d2l/lms/dropbox/user/folder_submit_files.d2l?db=862766&grpid=0&isprv=&bp=0&ou=3857321/2
Due on Oct 21, 2024 6:00 PM
Available on Oct 15, 2024 12:01 AM. Access restricted before availability starts.
Submit
Text submission
Text Submission
Display a build-status and code-coverage badge on the README.md page of your
repository similar to this:
(don't worry about the actual % and "passing" or "failing" yet.
Enable “Require status checks to pass before merging” on your repository
You can find this by going to your github project and clicking “Settings ->
Branches -> Add rule” then typing the name of your branch (maybe “master”)
Alternatively you can use the url below substituting your github ID/repo
https://github.com///settings/branch_protection_rules/new
You can see an example implementing these features here:
Travis config example: https://github.com/jackxujh/swe1-
app/commit/f22a5f487860c5a5c9c3c219d3be64ab471ee968
Submit your working Travis Dashboard Url.
Definition of DONE:
As a TA I know that this is DONE when
I open a PR against your repo and I see the Travis CI PR build start
If there are any flake8 violations or black formatter issues Travis will
mark this build red meaning the build “failed”.
Example: https://github.com/shreyas2499/swe1-app/pull/6/checks
see Checks Failed
The app gets successfully deployed to EB upon successful
completion of the tests
Have fun! :)
10/15/24, 8:23 PM6.4 Personal Assignment - Travis CI - Software Engineering I, (Monday) Section INET - NYU
https://brightspace.nyu.edu/d2l/lms/dropbox/user/folder_submit_files.d2l?db=862766&grpid=0&isprv=&bp=0&ou=3857322/2