Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
48c5b31
feat: Update to Python 3, add JWT auth, tests, and build script
google-labs-jules[bot] Feb 13, 2026
05b50de
Update project to Python 3.13+, add CI/CD pipeline, and real import t…
google-labs-jules[bot] Feb 13, 2026
306cd44
Update project to Python 3.13+, add CI/CD pipeline, and real import t…
google-labs-jules[bot] Feb 13, 2026
e80e0b2
Update project to Python 3.13+, add CI/CD pipeline, and real import t…
google-labs-jules[bot] Feb 13, 2026
9d50bdf
Update project to Python 3.13+, add CI/CD pipeline, and real import t…
google-labs-jules[bot] Feb 13, 2026
1a9c445
Update project to Python 3.13+, add CI/CD pipeline, and real import t…
google-labs-jules[bot] Feb 13, 2026
a692b34
Update project to Python 3.13+, add CI/CD pipeline, and real import t…
google-labs-jules[bot] Feb 13, 2026
dcf7d05
Update project to Python 3.13+, add CI/CD pipeline, and real import t…
google-labs-jules[bot] Feb 13, 2026
5853973
Update project to Python 3.13+, add CI/CD pipeline, and real import t…
google-labs-jules[bot] Feb 13, 2026
481d4f6
Rename import_mailbox_to_gmail.py back to import-mailbox-to-gmail.py
google-labs-jules[bot] Feb 13, 2026
5a45565
Refactor tests to tests/ folder and enable recursive pylint
google-labs-jules[bot] Feb 13, 2026
ae6c2f4
Enable disabled pylint checks and fix violations
google-labs-jules[bot] Feb 13, 2026
2aa6f58
Enable disabled pylint checks, fix violations, and update tests
google-labs-jules[bot] Feb 14, 2026
7f71290
Enable strict pylint checks and cleanup violations
google-labs-jules[bot] Feb 14, 2026
87bcc13
Enable strict pylint checks, cleanup violations, and fix logic error
google-labs-jules[bot] Feb 15, 2026
eb7a2e5
Add tests for failure counters and invalid inputs
google-labs-jules[bot] Feb 15, 2026
6048562
Add tests for failure counters and invalid inputs
google-labs-jules[bot] Feb 15, 2026
20b47c2
Remove 3.14-dev from CI matrix to fix race condition
google-labs-jules[bot] Feb 15, 2026
d71c237
Suppress test cleanup errors on Windows
google-labs-jules[bot] Feb 15, 2026
55309c1
Add release workflow to build and upload Windows and macOS binaries
google-labs-jules[bot] Feb 15, 2026
8f6a865
Remove macOS build and update documentation
google-labs-jules[bot] Feb 15, 2026
09fd5e9
Update docs to recommend Python script for macOS
google-labs-jules[bot] Feb 15, 2026
17b7af4
Remove redundant text and provide default path.
eesheesh Feb 15, 2026
8d6636c
Fix ResourceWarnings and suppress error logs in tests
google-labs-jules[bot] Feb 15, 2026
8432b2a
Fix `run_real_import_test.py` error reporting and API usage
google-labs-jules[bot] Feb 15, 2026
23bcb70
Disable discovery cache in Gmail service build
google-labs-jules[bot] Feb 15, 2026
00f0e77
Disable discovery cache in Gmail service build
google-labs-jules[bot] Feb 16, 2026
1e50b68
Remove outdated service account instructions.
eesheesh Feb 16, 2026
b965ea0
Update README.md
eesheesh Feb 16, 2026
8b16d32
Update README.md
eesheesh Feb 16, 2026
3b231f0
Update version number in import-mailbox-to-gmail.py
eesheesh Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: CI

on:
push:
branches: [ master, main ]
pull_request:
branches: [ master, main ]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pylint
pip install -r requirements.txt
- name: Run pylint
run: |
pylint --recursive=y .
- name: Markdown Lint
uses: nosborn/github-action-markdown-cli@v3.3.0
with:
files: .
config_file: .markdownlint.json

test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.x"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
run: |
python -m unittest discover tests

build-docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)

build-exe-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install -r requirements.txt
- name: Build EXE
run: |
pyinstaller --onefile import-mailbox-to-gmail.py
- name: Verify EXE runs
run: |
./dist/import-mailbox-to-gmail.exe --help

build-exe-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install -r requirements.txt
- name: Build EXE
run: |
export TOOL_pyinstaller=$(which pyinstaller)
export TOOL_pyi_makespec=$(which pyi-makespec)
chmod +x build-exe.mac.sh
./build-exe.mac.sh
- name: Verify EXE runs
run: |
./build/exe/macos/import-mailbox-to-gmail --help
58 changes: 58 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Release

on:
release:
types: [created]
workflow_dispatch:

jobs:
build-exe-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Build EXE
run: |
pyinstaller --onefile import-mailbox-to-gmail.py
- name: Verify EXE runs
run: |
./dist/import-mailbox-to-gmail.exe --help
- name: Upload Windows Binary
uses: actions/upload-artifact@v4
with:
name: import-mailbox-to-gmail-windows
path: dist/import-mailbox-to-gmail.exe

build-exe-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Build EXE
run: |
export TOOL_pyinstaller=$(which pyinstaller)
export TOOL_pyi_makespec=$(which pyi-makespec)
chmod +x build-exe.mac.sh
./build-exe.mac.sh
- name: Verify EXE runs
run: |
./build/exe/macos/import-mailbox-to-gmail --help
- name: Upload macOS Binary
uses: actions/upload-artifact@v4
with:
name: import-mailbox-to-gmail-macos
path: build/exe/macos/import-mailbox-to-gmail
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
__pycache__/
build/
dist/
*.spec
8 changes: 8 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"default": true,
"MD013": {
"line_length": 80,
"code_blocks": false,
"tables": false
}
}
1 change: 1 addition & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CONTRIBUTING.md
5 changes: 5 additions & 0 deletions .pylintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[BASIC]
good-names=import-mailbox-to-gmail

[FORMAT]
indent-string=' '
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:2
FROM python:3-slim

WORKDIR /usr/src/app
COPY requirements.txt ./
Expand All @@ -7,4 +7,4 @@ RUN pip install --no-cache-dir -r requirements.txt
COPY import-mailbox-to-gmail.py .

ENTRYPOINT [ "python", "import-mailbox-to-gmail.py" ]
CMD [ "-h" ]
CMD [ "--help" ]
Loading
Loading