upload: main file, tests and git ignore file