Skip to content

dostuffthatmatters/armadillo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Armadillo

Goal

Providing download links for GitHub subdirectories.

Caution: This tool does not work reliably yet! See Issue #2 for details


Usage

You don't have to configure anything!

Just use/share (e.g. include in your README) a link in the following format:

https://armadillo.dostuffthatmatters.dev/{username}/{repository-name}{subdirectory-path}

Armadillo will return a zip-file of that subdirectory from the latest version of the default repository branch.

When the app hasn't been used in a while the initial reponse time is approx. 5 seconds. After that the responses will be returned really fast. Since the infrastructure in the back is serverless, the containers automatically shut down and boot back up in order to reduce costs.


Examples:

https://armadillo.dostuffthatmatters.dev/dostuffthatmatters/armadillo
https://armadillo.dostuffthatmatters.dev/dostuffthatmatters/armadillo/README.md
https://armadillo.dostuffthatmatters.dev/dostuffthatmatters/armadillo/app
https://armadillo.dostuffthatmatters.dev/dostuffthatmatters/armadillo/app/main.py


About the Implementation

Whenever a specific subdirectory of a repository is requested:

  1. Checking the latest commit hash on the default branch
  2. If a zip-file for that commit hash for this specific directory has not yet been generated, generate it now
  3. Return that zip-file

Note: The latest commit hash is always the one with respect to that subdirectory only. Meaning: When the subdirectory does not change with further commits the zip-file will not be regenerated as well.



I am using this tool for a university tutorial I am holding. I have one repo for the whole semester with one subdirectory in it for every week. Students should not be required to download the whole repo every week and learning/using git is not a programming-introductory thing!

buy me a coffee :)