Skip to content
main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

junior.guru

Status of the README

This README is missing a lot of information. Honza didn't have time yet to add a proper, nice README. The file currently only includes documentation of the hard parts of the development process, which would be easy to forget and difficult to learn again.

Contributions

Don't panic, failing build under your PR is unrelated to your changes. Contributions are welcome, but Honza didn't have much time yet to make the repo very friendly to contributors. Very likely, your PR fixing a typo in the text will get merged regardless the failing checks.

Installation on M1

$ brew install openblas gfortran
$ export OPENBLAS=$(/usr/local/bin/brew --prefix openblas)
$ export CFLAGS="-falign-functions=8 ${CFLAGS}"

Thanks @lutzroeder, no thanks SciPy.

Logging

Use export LOG_LEVEL='debug' to see DEBUG logging, by default logging is set to INFO and for some selected 'muted' loggers it's set to WARNING only. The setup is in loggers.py.

Sensitive information should always go to DEBUG. The CI is set to log only INFO. If shit hits the fan and the error in hand isn't reproducible locally, for a few builds even CI could be set to DEBUG, so don't put anything actually sensitive to the logs!

Setting up email address

  1. Add the following to the DNS:

    junior.guru '@' MX mx1.improvmx.com 10
    junior.guru '@' MX mx2.improvmx.com 20
    junior.guru '@' TXT 'v=spf1 include:spf.improvmx.com include:_spf.google.com ~all'
    
  2. Fill the form at ImprovMX

Setting up Google Drive credentials

  1. Follow the steps in the gspread guide. Instead of Google Drive API, enable Google Sheets API.
  2. Save the obtained JSON file into the juniorguru/sync directory as google_service_account.json
  3. Make sure it is ignored by Git
  4. Run cat juniorguru/sync/google_service_account.json | pbcopy to copy the JSON into your clipboard (macOS)
  5. Go to CircleCI project settings, page Environment Variables
  6. Add GOOGLE_SERVICE_ACCOUNT variable and paste the JSON from your clipboard as a value

The service account's email address needs to be manually invited wherever it should have access. If it should be able to access Google Analytics, go there and invite it as if it was a user.

Setting up SMTP credentials

  1. If using Gmail for sending e-mails, create an app password.

  2. Set the following environment variables:

    export SMTP_HOST='smtp.example.com'
    export SMTP_PORT='587'
    export SMTP_USERNAME='example@example.com'
    export SMTP_PASSWORD='abc...xyz'

By default, sending is not enabled. On production or when trying to send e-mails from localhost an environment variable SMTP_ENABLED needs to be set to something truthy.

Setting up logo.junior.guru and podcast.junior.guru

The logo.junior.guru and podcast.junior.guru have their own repos and run on GitHub Pages. Set it up in DNS:

logo.junior.guru '@' CNAME 'honzajavorek.github.io'
podcast.junior.guru '@' CNAME 'honzajavorek.github.io'

Verify Google Search Console

In Google Search Console click verify and set a TXT DNS record.