Skip to content

Merge pull request #82 from jrafaelrn/ifood_alive_beta #402

Merge pull request #82 from jrafaelrn/ifood_alive_beta

Merge pull request #82 from jrafaelrn/ifood_alive_beta #402

Workflow file for this run

name: 'CD - GCP - Cloud Functions'
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
test:
name: 'Test'
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10"]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest
pwd
ls -lah
pip install -r src/functions/bd_update_banks/requirements.txt
- name: Run tests
run: |
pytest
deploy:
name: 'Deploy to GCP Cloud Functions'
runs-on: ubuntu-latest
environment: prod
env:
GOOGLE_SERVICE_ACCOUNT_KEY : ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }}
needs: test
steps:
- name: Checkout
uses: 'actions/checkout@v4'
- id: 'auth'
uses: 'google-github-actions/auth@v2'
with:
credentials_json: '${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }}'
- id: 'deploy-sales'
name: 'Deploy Sales'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/check_sales/'
entry_point: 'check'
name: 'function-check-sales-day'
runtime: 'python39'
event_trigger_type: 'providers/cloud.pubsub/eventTypes/topic.publish'
event_trigger_resource: projects/${{ secrets.GCP_PROJECT_ID }}/topics/${{ secrets.SALES_TOPIC_ID }}
secret_environment_variables: |-
GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/
REGION=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/REGION/versions/
GCP_PROJECT_ID=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GCP_PROJECT_ID/versions/
MY_CNPJ=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/MY_CNPJ/versions/
timeout: '540s'
- id: 'deploy-telegram'
name: 'Deploy Telegram'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/telegram/'
entry_point: 'check'
secret_environment_variables: 'TELEGRAM_API_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/TELEGRAM_API_KEY/versions/'
name: 'function-telegram'
runtime: 'python39'
timeout: '240s'
- id: 'deploy-bank-auto-classification'
name: 'Deploy Bank Auto Classification'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/bank_auto_classification/'
entry_point: 'check'
secret_environment_variables: 'GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/'
name: 'function-bank-auto-classification'
runtime: 'python39'
timeout: '540s'
- id: 'deploy-bank-next-pendency'
name: 'Deploy Bank Next Pendency'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/bank_next_pendency/'
entry_point: 'check'
secret_environment_variables: 'GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/'
name: 'function-bank-next-pendency'
runtime: 'python39'
timeout: '540s'
- id: 'deploy-bd-transaction'
name: 'Deploy BD Transaction'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/bd_transaction/'
entry_point: 'check'
secret_environment_variables: 'GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/'
name: 'function-bd-transaction'
runtime: 'python39'
timeout: '240s'
- id: 'deploy-erp-pendency'
name: 'Deploy ERP Pendency'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/erp_pendency/'
entry_point: 'check'
secret_environment_variables: 'GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/'
name: 'function-erp-pendency'
runtime: 'python39'
timeout: '540s'
- id: 'deploy-erp-classes'
name: 'Deploy ERP Classes'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/erp_classes/'
entry_point: 'check'
secret_environment_variables: 'GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/'
name: 'function-erp-classes'
runtime: 'python39'
timeout: '540s'
- id: 'deploy-bd-update-from-banks'
name: 'Deploy BD Update From Banks'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/bd_update_banks/'
entry_point: 'check'
event_trigger_type: 'providers/cloud.pubsub/eventTypes/topic.publish'
event_trigger_resource: projects/${{ secrets.GCP_PROJECT_ID }}/topics/${{ secrets.IMPORT_BD_TOPIC_ID }}
secret_environment_variables: |-
GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/
REGION=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/REGION/versions/
GCP_PROJECT_ID=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GCP_PROJECT_ID/versions/
MY_CNPJ=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/MY_CNPJ/versions/
name: 'function-bd-update-from-banks'
runtime: 'python39'
timeout: '540s'
- id: 'deploy-week-payments'
name: 'Deploy Week Payments'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/erp_week_payments/'
entry_point: 'check'
name: 'function-week_payments'
runtime: 'python39'
event_trigger_type: 'providers/cloud.pubsub/eventTypes/topic.publish'
event_trigger_resource: projects/${{ secrets.GCP_PROJECT_ID }}/topics/${{ secrets.WEEK_PAYMENTS_TOPIC_ID }}
secret_environment_variables: |-
GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/
REGION=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/REGION/versions/
GCP_PROJECT_ID=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GCP_PROJECT_ID/versions/
timeout: '540s'
- id: 'deploy-bank-download-api'
name: 'Deploy Bank Download API'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/bank_download/'
entry_point: 'check'
name: 'function-bank-download-api'
runtime: 'python39'
event_trigger_type: 'providers/cloud.pubsub/eventTypes/topic.publish'
event_trigger_resource: projects/${{ secrets.GCP_PROJECT_ID }}/topics/download-all-banks-sub
secret_environment_variables: |-
GOOGLE_SERVICE_ACCOUNT_KEY=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GOOGLE_SERVICE_ACCOUNT_KEY/versions/
REGION=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/REGION/versions/
GCP_PROJECT_ID=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GCP_PROJECT_ID/versions/
timeout: '540s'
- id: 'deploy-ifood_alive'
name: 'Deploy Ifood Alive'
uses: 'google-github-actions/deploy-cloud-functions@v2'
with:
source_dir: 'src/functions/ifood_alive/'
entry_point: 'check'
name: 'function-ifood-alive'
runtime: 'python39'
event_trigger_type: 'providers/cloud.pubsub/eventTypes/topic.publish'
event_trigger_resource: projects/${{ secrets.GCP_PROJECT_ID }}/topics/${{ secrets.IFOOD_ALIVE_TOPIC_ID }}
secret_environment_variables: |-
REGION=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/REGION/versions/
GCP_PROJECT_ID=projects/${{ secrets.GCP_PROJECT_ID }}/secrets/GCP_PROJECT_ID/versions/
timeout: '540s'