medvednikov

/

gitlyx Public
0 branches
Tree Top files
Code
Clone with HTTPS:
56 years ago
.github remove all libgit mentions last May 12 5.83 KB
api json2 last May 17 16.42 KB
config strip whitespace last Jun 28 1.51 KB
git more tests last Jun 28 8.76 KB
highlight use markdown last May 18 22.45 KB
repo unique page titles last Jun 29 100.61 KB
security full path not needed last Apr 22 1.18 KB
ssh full path not needed last Apr 22 2.88 KB
static unique page titles last Jun 29 162.27 KB
templates unique page titles last Jun 29 132.3 KB
tests json2 last May 17 12.76 KB
translations squash pr last Jun 28 112.3 KB
validation releases page (#191) 4 years ago 1.97 KB
LICENSE Initial commit 6 years ago 34.33 KB
README.md update readme last May 26 2.14 KB
build.vsh static path fix last May 10 404 bytes
cli.v all: vfmt last May 12 908 bytes
config.json strip whitespace last Jun 28 187 bytes
database_test.v pg/sqlite orm last May 2 357 bytes
feed_routes.v full path not needed last Apr 22 1.1 KB
gitly.v unique page titles last Jun 29 10.91 KB
issue_routes.v unique page titles last Jun 29 6.81 KB
main.v strip whitespace last Jun 28 2.63 KB
pr.v plan with paypal, 100 mb limit last Jun 28 7.84 KB
pr_routes.v unique page titles last Jun 29 27.48 KB
repo_routes_test.v more tests last Jun 28 1.34 KB
settings.v display folder size last May 12 1.71 KB
setup_db.vsh setup_db.vsh last Apr 22 6.47 KB
utils.v strip whitespace last Jun 28 5.09 KB
v.mod update v.mod last Apr 22 207 bytes
1 MiB

Gitly

CI

GitHub/GitLab alternative written in V.

https://gitly.org

  • Light and fast
  • Minimal amount of RAM usage (works great on the cheapest $3.5 AWS Lightsail instance)
  • Easy to deploy (a single <1 MB binary that includes compiled templates)
  • Works without JavaScript
  • Detailed language stats for each directory
  • "Top files" feature to give an overview of the project

This is beta software

The V web framework and Gitly are at an early stage of development. Lots of features are missing. The biggest missing features that will be implemented soon:

  • Multiple users and multiple repos
  • git push
  • Access via ssh
  • Pull requests
v build.vsh
./gitly

Gitly builds against PostgreSQL by default. Create the default PostgreSQL role/database with:

v run setup_db.vsh

To build a SQLite-backed binary instead, use:

v -d sqlite .
./gitly

The SQLite database path defaults to gitly.sqlite and can be changed with sqlite.path in config.json or GITLY_SQLITE_PATH. PostgreSQL settings can be changed with pg in config.json, GITLY_DB_* environment variables, or the usual PG* environment variables.

If you don't want to install sassc, you can simply run

curl https://gitly.org/css/gitly.css --output static/css/gitly.css

Required dependencies:

  • V 0.4.2 93ff40a (https://vlang.io)
  • SQLite (Ubuntu/Debian: libsqlite3-dev)
  • PostgreSQL client library (Ubuntu/Debian: libpq-dev, macOS: brew install libpq)
  • Markdown (v install markdown)
  • sassc

Features

  • Track performance in CI (e.g. compare certain binary performance across different commits)

  • Run only certain actions for commits (e.g. you're a fixing a bug that involves only a certain OS, and you don't want to wait for other CI)

  • Prioritize CI runs (e.g. this PR must be handled first, then the rest)

  • "Top files" mode

  • Release files can only be generated by CI/CD, with the version of the tree used always available. This prevents malware binaries.