Schedule sendsoon Script #2406
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Schedule sendsoon Script | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| # Monday | |
| - cron: '0 11 * * 1' # 5:00 AM CST | |
| - cron: '12 11 * * 1' # 5:12 AM CST | |
| - cron: '24 11 * * 1' # 5:24 AM CST | |
| - cron: '36 11 * * 1' # 5:36 AM CST | |
| - cron: '48 11 * * 1' # 5:48 AM CST | |
| - cron: '0 12 * * 1' # 6:00 AM CST | |
| - cron: '12 12 * * 1' # 6:12 AM CST | |
| - cron: '24 12 * * 1' # 6:24 AM CST | |
| - cron: '36 12 * * 1' # 6:36 AM CST | |
| - cron: '48 12 * * 1' # 6:48 AM CST | |
| - cron: '0 13 * * 1' # 7:00 AM CST | |
| - cron: '12 13 * * 1' # 7:12 AM CST | |
| - cron: '24 13 * * 1' # 7:24 AM CST | |
| - cron: '36 13 * * 1' # 7:36 AM CST | |
| - cron: '48 13 * * 1' # 7:48 AM CST | |
| - cron: '0 14 * * 1' # 8:00 AM CST | |
| - cron: '12 14 * * 1' # 8:12 AM CST | |
| - cron: '24 14 * * 1' # 8:24 AM CST | |
| - cron: '36 14 * * 1' # 8:36 AM CST | |
| - cron: '48 14 * * 1' # 8:48 AM CST | |
| - cron: '0 15 * * 1' # 9:00 AM CST | |
| - cron: '12 15 * * 1' # 9:12 AM CST | |
| - cron: '24 15 * * 1' # 9:24 AM CST | |
| - cron: '36 15 * * 1' # 9:36 AM CST | |
| - cron: '48 15 * * 1' # 9:48 AM CST | |
| - cron: '0 16 * * 1' # 10:00 AM CST | |
| - cron: '12 16 * * 1' # 10:12 AM CST | |
| - cron: '24 16 * * 1' # 10:24 AM CST | |
| - cron: '36 16 * * 1' # 10:36 AM CST | |
| - cron: '48 16 * * 1' # 10:48 AM CST | |
| # Tuesday | |
| - cron: '0 11 * * 2' # 5:00 AM CST | |
| - cron: '12 11 * * 2' # 5:12 AM CST | |
| - cron: '24 11 * * 2' # 5:24 AM CST | |
| - cron: '36 11 * * 2' # 5:36 AM CST | |
| - cron: '48 11 * * 2' # 5:48 AM CST | |
| - cron: '0 12 * * 2' # 6:00 AM CST | |
| - cron: '12 12 * * 2' # 6:12 AM CST | |
| - cron: '24 12 * * 2' # 6:24 AM CST | |
| - cron: '36 12 * * 2' # 6:36 AM CST | |
| - cron: '48 12 * * 2' # 6:48 AM CST | |
| - cron: '0 13 * * 2' # 7:00 AM CST | |
| - cron: '12 13 * * 2' # 7:12 AM CST | |
| - cron: '24 13 * * 2' # 7:24 AM CST | |
| - cron: '36 13 * * 2' # 7:36 AM CST | |
| - cron: '48 13 * * 2' # 7:48 AM CST | |
| - cron: '0 14 * * 2' # 8:00 AM CST | |
| - cron: '12 14 * * 2' # 8:12 AM CST | |
| - cron: '24 14 * * 2' # 8:24 AM CST | |
| - cron: '36 14 * * 2' # 8:36 AM CST | |
| - cron: '48 14 * * 2' # 8:48 AM CST | |
| - cron: '0 15 * * 2' # 9:00 AM CST | |
| - cron: '12 15 * * 2' # 9:12 AM CST | |
| - cron: '24 15 * * 2' # 9:24 AM CST | |
| - cron: '36 15 * * 2' # 9:36 AM CST | |
| - cron: '48 15 * * 2' # 9:48 AM CST | |
| - cron: '0 16 * * 2' # 10:00 AM CST | |
| - cron: '12 16 * * 2' # 10:12 AM CST | |
| - cron: '24 16 * * 2' # 10:24 AM CST | |
| - cron: '36 16 * * 2' # 10:36 AM CST | |
| - cron: '48 16 * * 2' # 10:48 AM CST | |
| # Wednesday | |
| - cron: '0 11 * * 3' # 5:00 AM CST | |
| - cron: '12 11 * * 3' # 5:12 AM CST | |
| - cron: '24 11 * * 3' # 5:24 AM CST | |
| - cron: '36 11 * * 3' # 5:36 AM CST | |
| - cron: '48 11 * * 3' # 5:48 AM CST | |
| - cron: '0 12 * * 3' # 6:00 AM CST | |
| - cron: '12 12 * * 3' # 6:12 AM CST | |
| - cron: '24 12 * * 3' # 6:24 AM CST | |
| - cron: '36 12 * * 3' # 6:36 AM CST | |
| - cron: '48 12 * * 3' # 6:48 AM CST | |
| - cron: '0 13 * * 3' # 7:00 AM CST | |
| - cron: '12 13 * * 3' # 7:12 AM CST | |
| - cron: '24 13 * * 3' # 7:24 AM CST | |
| - cron: '36 13 * * 3' # 7:36 AM CST | |
| - cron: '48 13 * * 3' # 7:48 AM CST | |
| - cron: '0 14 * * 3' # 8:00 AM CST | |
| - cron: '12 14 * * 3' # 8:12 AM CST | |
| - cron: '24 14 * * 3' # 8:24 AM CST | |
| - cron: '36 14 * * 3' # 8:36 AM CST | |
| - cron: '48 14 * * 3' # 8:48 AM CST | |
| - cron: '0 15 * * 3' # 9:00 AM CST | |
| - cron: '12 15 * * 3' # 9:12 AM CST | |
| - cron: '24 15 * * 3' # 9:24 AM CST | |
| - cron: '36 15 * * 3' # 9:36 AM CST | |
| - cron: '48 15 * * 3' # 9:48 AM CST | |
| - cron: '0 16 * * 3' # 10:00 AM CST | |
| - cron: '12 16 * * 3' # 10:12 AM CST | |
| - cron: '24 16 * * 3' # 10:24 AM CST | |
| - cron: '36 16 * * 3' # 10:36 AM CST | |
| - cron: '48 16 * * 3' # 10:48 AM CST | |
| #Thurday | |
| - cron: '0 11 * * 4' # 5:00 AM CST | |
| - cron: '12 11 * * 4' # 5:12 AM CST | |
| - cron: '24 11 * * 4' # 5:24 AM CST | |
| - cron: '36 11 * * 4' # 5:36 AM CST | |
| - cron: '48 11 * * 4' # 5:48 AM CST | |
| - cron: '0 12 * * 4' # 6:00 AM CST | |
| - cron: '12 12 * * 4' # 6:12 AM CST | |
| - cron: '24 12 * * 4' # 6:24 AM CST | |
| - cron: '36 12 * * 4' # 6:36 AM CST | |
| - cron: '48 12 * * 4' # 6:48 AM CST | |
| - cron: '0 13 * * 4' # 7:00 AM CST | |
| - cron: '12 13 * * 4' # 7:12 AM CST | |
| - cron: '24 13 * * 4' # 7:24 AM CST | |
| - cron: '36 13 * * 4' # 7:36 AM CST | |
| - cron: '48 13 * * 4' # 7:48 AM CST | |
| - cron: '0 14 * * 4' # 8:00 AM CST | |
| - cron: '12 14 * * 4' # 8:12 AM CST | |
| - cron: '24 14 * * 4' # 8:24 AM CST | |
| - cron: '36 14 * * 4' # 8:36 AM CST | |
| - cron: '48 14 * * 4' # 8:48 AM CST | |
| - cron: '0 15 * * 4' # 9:00 AM CST | |
| - cron: '12 15 * * 4' # 9:12 AM CST | |
| - cron: '24 15 * * 4' # 9:24 AM CST | |
| - cron: '36 15 * * 4' # 9:36 AM CST | |
| - cron: '48 15 * * 4' # 9:48 AM CST | |
| - cron: '0 16 * * 4' # 10:00 AM CST | |
| - cron: '12 16 * * 4' # 10:12 AM CST | |
| - cron: '24 16 * * 4' # 10:24 AM CST | |
| - cron: '36 16 * * 4' # 10:36 AM CST | |
| - cron: '48 16 * * 4' # 10:48 AM CST | |
| #Friday | |
| - cron: '0 11 * * 5' # 5:00 AM CST | |
| - cron: '12 11 * * 5' # 5:12 AM CST | |
| - cron: '24 11 * * 5' # 5:24 AM CST | |
| - cron: '36 11 * * 5' # 5:36 AM CST | |
| - cron: '48 11 * * 5' # 5:48 AM CST | |
| - cron: '0 12 * * 5' # 6:00 AM CST | |
| - cron: '12 12 * * 5' # 6:12 AM CST | |
| - cron: '24 12 * * 5' # 6:24 AM CST | |
| - cron: '36 12 * * 5' # 6:36 AM CST | |
| - cron: '48 12 * * 5' # 6:48 AM CST | |
| - cron: '0 13 * * 5' # 7:00 AM CST | |
| - cron: '12 13 * * 5' # 7:12 AM CST | |
| - cron: '24 13 * * 5' # 7:24 AM CST | |
| - cron: '36 13 * * 5' # 7:36 AM CST | |
| - cron: '48 13 * * 5' # 7:48 AM CST | |
| - cron: '0 14 * * 5' # 8:00 AM CST | |
| - cron: '12 14 * * 5' # 8:12 AM CST | |
| - cron: '24 14 * * 5' # 8:24 AM CST | |
| - cron: '36 14 * * 5' # 8:36 AM CST | |
| - cron: '48 14 * * 5' # 8:48 AM CST | |
| - cron: '0 15 * * 5' # 9:00 AM CST | |
| - cron: '12 15 * * 5' # 9:12 AM CST | |
| - cron: '24 15 * * 5' # 9:24 AM CST | |
| - cron: '36 15 * * 5' # 9:36 AM CST | |
| - cron: '48 15 * * 5' # 9:48 AM CST | |
| - cron: '0 16 * * 5' # 10:00 AM CST | |
| - cron: '12 16 * * 5' # 10:12 AM CST | |
| - cron: '24 16 * * 5' # 10:24 AM CST | |
| - cron: '36 16 * * 5' # 10:36 AM CST | |
| - cron: '48 16 * * 5' # 10:48 AM CST | |
| jobs: | |
| run-coldmail: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v3 | |
| with: | |
| python-version: '3.12.1' # Replace with your Python version | |
| - name: Install dependencies | |
| run: | | |
| pip install -r requirements.txt | |
| - name: Create client_key.json file | |
| run: | | |
| echo "{\"type\": \"service_account\", \"project_id\": \"linear-asset-343912\", \"private_key_id\": \"a1afbf111e9d3921296bee31168f2af676264ba2\", \"private_key\": \"-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCv3fXgwssLlrBh\n/s+8ilwCZB3AUJ3MeVPv36o9ODUDWR/E/PEDkkhpbpU9LMBUj9TzO7r9dARkNCjM\nIgH2Joy6H44U74a62M7CqWefQVQAN13YSMu4Qtte6KuuI/SFm//KAJNA4oaosKIw\nT87o1VNCctGrGw6tQ184iJNCuaNV1XoqVCVTbAVOUkr/lpgxL2XLejS3KBsAaKe9\n4FkxmqrYjFBFm8y6F111aJpXhMYbS5o1ACjYQxcQ8XNWzLX2CjbpGBj51R8u75mb\nPRV5kF/34QqE/4NhV4Df9xb0IWZXHqEeYlMzsqVaLFOpL3J7xSSyKaG3hDXdQc61\nNCYL4hYVAgMBAAECgf87E3akghQ+Nvmjr5NBSeVKzvtxYJaPlB29u+lq8KqNFlKr\nPXJ+Qypom3dG+tb0Ql8Z7dbot0QlOcqtRng+ugV3h9DvWGC1w4QB9r/8/US/dSNM\nnrLc3cYfECpoyqssphhKTQqmOYYrCHQVMPGvTG41nlSlBeorYvO7yTvR8B0F/Wj6\n8nTYT0EhkvoV1neMtXoLqHQjD0yRmDwl4GRoCpYW/BhnZI19VA8brbmorzzBrVs5\no/LEW/J/ORThNlp3H6QtRXxyqvunMkBfSvb6WO/yN2x58MpwLjj9v/G4VEmlBOI9\nNgqRugjn5C3m8DMybCvWx1kf4FOFjky3aNac12ECgYEA6j4eqLoq5d9SRjlgUU3c\nZ47K+7Svy6vWqlwNoBXLhoow4MLKB7I3+TdGwqnbD5cYl+GK8mMGao4GWUN8tq9T\n4d2Gkd6OGP8b7Ki4rw8fQulAdMC0bimU4bAh4r7ZxckpHBU4jKI0SpcEc55MRP+m\nLIltErbgm8K/CW74of0SNlECgYEAwDPFRkcCjCoN1Ho3/iu8Ku3d2oVTa+RHj9NZ\n1QTELzCNqz+My9I3AcuyoW2TAJWMhpajwJIPtNqCuGLfkNKT8TwT7HqvNyktV0C2\nrq1GM11ljUso0c1eiMapb2EiWTsIiOFEaT459X3cPa3AfepyhhS5nTeeYljRJO74\nPVOwfoUCgYEAijmn++cHw2g586iN9sxcYFu52jhweF5pqVPy0mGqHTVUzH0FnO8E\n6rI8tkhnNVbzM0TrqkbXFW/DvU7+vArQE/uWGmPbNFLuFoQln1/sEZ704zCICG3P\nJjK6fEQk2/rtoF3BZfOdqdpdzSA/X4QAek2KKL3z4tZTxuxOGcDty1ECgYA16k/c\ndu7wApv+jopGcl5GbJNfSSctjMvGPLNmXf/qfORAtYL5ae6kQk/JmMMz1r+kwX0N\n9+sQAHvK3XF5XpjBgujT3VZpUtO1NiIIvfKDVh+2ku7Qa5upIpFE/Sp1fWnXe9mE\n7D+17ahqZOMqbynREt8+iuuTCvcgNSjNizxnQQKBgQDS4bt10N5jCWj1m7XtaC7B\nbya8a6fVndit1Z1l4Qqa7XBaTTGRFwVBsH8tnBotuJDC79Nr4QRAfFp/pI1K04BU\nTjIkCk0Hksxf4mqzrHCXrMePKLJ5PGLAg5s4BXLeumPj2AOBmY2Sqwt1cjgK1OeW\ndKKRlwfbpC/X0tljg98bMA==\n-----END PRIVATE KEY-----\n\", \"client_email\": \"pythonsheetapi@linear-asset-343912.iam.gserviceaccount.com\", \"client_id\": \"109880981363412966853\", \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\", \"token_uri\": \"https://oauth2.googleapis.com/token\", \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\", \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/pythonsheetapi%40linear-asset-343912.iam.gserviceaccount.com\", \"universe_domain\": \"googleapis.com\"}" > client_key.json | |
| - name: Run sendsoon script | |
| run: | | |
| python sendsoon.py | |
| env: | |
| gmail_email: ${{ secrets.gmail_email }} | |
| gmail_password: ${{ secrets.gmail_password }} |