add requirements #401
This file contains 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: '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' | |