Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.0.0 Added docker support #32

Merged
merged 93 commits into from
Dec 22, 2021
Merged

v4.0.0 Added docker support #32

merged 93 commits into from
Dec 22, 2021

Conversation

antonplagemann
Copy link
Owner

@antonplagemann antonplagemann commented Dec 15, 2021

New features:

  • Added full docker 🐳 support with automatic deployments

Breaking changes:

  • Changed config from python file (conf.py) to .env file (for update instructions see below)

Bugfixes:

  • Fixed missing gender error Fixed "KeyError None" #29
  • Fixed an issue where a raw birthday format produced an exception instead of beeing skipped
  • Fixed an issue where some contacts have been unintentionally skipped during delta sync
  • Fixed an issue where a new Google token would not have a refresh_token for non-interactive token refresh
  • Fixed an issue where OAuth scopes have been parsed wrong during Google token refresh
  • Fixed an issue where a deleted contact does not get removed from the database (=> failing database check)
  • Fixed a rare issue where database check could fail
  • Fixed and improved some logging issues

Background changes (no effects on functionality):

  • Added instructions for setting up a GCP People API project
  • Added fully automated tests of every command and environment using GitHub Actions
  • Added SonarCloud SAST CI
  • Added CodeQL SAST CI
  • Added a new command-line switch for specifying config location path
  • Introduced black codestyle
  • Introduced flake8 linting
  • Introduced bandit security check
  • Introduced mypy type checking
  • Introduced isort import sorting
  • Reduced code complexity and duplication
  • Introduced snake_case naming convention
  • Added custom exceptions (better error handling)
  • Changed initial Google authorization flow from local_webserver to console (more robust)
  • Changed pickling format from binary to base64 to be readable characters (file updates automatically on next script run)

Update instructions from v3.x.x:

  • Automatic: Do a pip install -r requirements.txt, then run GMSync.py -u once. This converts your conf.py into a .env file and moves your credential files into the right subfolders.
  • Manual: Create a new .env file (use .env.example as template. Then move your credentials.json and token.pickle files into a new data subfolder. Do a pip install -r requirements.txt afterwards.

@antonplagemann antonplagemann marked this pull request as ready for review December 22, 2021 16:32
.github/actions/setup-environment/action.yml Outdated Show resolved Hide resolved
.github/actions/setup-environment/action.yml Outdated Show resolved Hide resolved
.github/actions/setup-environment/action.yml Show resolved Hide resolved
.github/workflows/python-ci.yml Show resolved Hide resolved
.github/workflows/python-ci.yml Outdated Show resolved Hide resolved
GMSync.py Outdated Show resolved Hide resolved
GMSync.py Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
docker-compose.yml Outdated Show resolved Hide resolved
test/docker-compose-sync.yml Outdated Show resolved Hide resolved
antonplagemann and others added 3 commits December 22, 2021 20:43
Co-authored-by: Philipp Fruck <dev@p-fruck.de>
Co-authored-by: Philipp Fruck <dev@p-fruck.de>
@antonplagemann
Copy link
Owner Author

@p-fruck
Many thanks for doing a review! 🙏 ❤
Much appreciated! 🚀

@sonarcloud
Copy link

sonarcloud bot commented Dec 22, 2021

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@antonplagemann antonplagemann merged commit caae23b into main Dec 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants