Between the last post, I have to say that a lot of things are new. Congredi & Delegito are in a github org, and I’ve worked a lot on getting them up to speed.

In Brief:

Servers

The project uses webhooks to:

  • Docker Hub - automatically builds
  • Travis-CI - tests (for stickers & email notifications & commit passing)
  • codeship - Docker build stickers (possibly deployments?)
  • appveyor - Windows tests (though I’m not doing them, or the mac ones, correctly)
  • docs (mkdocs is currently mad at my config)

Other Services

  • gitter/congredi - dev chat, when not in person
  • waffle.io/congredi - KanBan boards
  • c9.io - personal editor

Repos

  • congredi/delegito - build tooling. Will move to @yeomanfountain, probably.
  • congredi/congredi - Twisted/Klein, uses PyCryptoDoMe now
  • congredi/micro-page - downloads latest release using github API
  • congredi/micro-peer - downloads latest PyPi release

Scaling

  • docker-compose.yml, docker-cloud.yml,
  • runnable / heroku?
  • codeship seems to do that?
  • docker cloud currently has access to digitalocean

Drilling down

The automatic builds for docker-hub are good on a commit basis, I really wish that it did a nightly build like the cron jobs I can schedule on travis now.

Travis’s nightly builds shouldn’t run if I’ve committed that day, but they do…

I’ve swapped stickers for the private repos to use the .com on Travis-CI, so the blog sticker should show up again.

Codeship & appveyor’s configs are annoying. Maybe they should use a common format. Even docker-based “docker-cloud.yml” is slightly different from “docker-compose.yml”…

Having tests on Mac, Windows, & Linux is cool, it’s sad that I can’t have badges that say which OS / Version of python the build works on without using branches.

Docs with mkdocs are being difficult with building automatically. Ugh. I’m using github pages as a workaround… Also, no SSL on the docs? Makes me want to use my own servers for that.

Waffle.io and syncing data, man…

Specifically, Congredi

Because I mucked up the release numbers between PyPi and GitHub, and also messed with the wrong pycrypto library, I deleted all releases to Congredi. In edition, it now has a wheel (Congredi is completely made out of python, for now).

The RST isn’t building quite right, I’ll have to use the test pypi server and figure out why that’s happening.

Python3 compatibility is halfway there, my unit tests use a python2 hack to access the hex chars [a-f,0-9] when doing random data tests. Oh, yeah, it uses RANDOM data to run tests.

Though it’s not really running all the unit tests it could, on breaking things.

OSX python tests on travis aren’t supported by them by default, so I’ll have to make the travis file long and complicated to set an ENV variable on a matrix. Also, the unit tests on his mac are running the wrong version of green when in a virtualenv.

Delegito, my old friend

Delegito will be moving to vue.js, because it looks amazing and fast.

I’m not entirely sure if I should use @yeomanfountain, mostly because I’m tempted by yarnpkg. Also, foundation was the fabric I was going for, but bootstrapstudio is looking good as well. In theory, I’ll be wanting something in the middle of those:

  • yeomanfountain
  • yarn
  • foundation
  • bootstrapstudio

The crypto will still use openpgp.js, because of me swapping from ECC on congredi to RSA for the time being.

auth between delegito and congredi will use JWT, and it could use methods like oauth or the twitter API to log users in. The final codebase a user has should be signed in some way, and relatively small, i.e.

delegito-app.min.js
delegito-lib.min.js ?
vue.min.js
vue-router.min.js
openpgp.min.js

Possibly in a way that lets people package it.

School & Work

School & Work are going well, I’ve had a better time with C# recently, and a couple more productive days. Sometimes, I’m no good on a problem, but the next day that solution will come really quickly.

I might edit this post more.