Skip to content

Palletjack - Deploy to Cloud Run Job #66

Palletjack - Deploy to Cloud Run Job

Palletjack - Deploy to Cloud Run Job #66

Workflow file for this run

name: Palletjack - Deploy to GCP Function
on:
push:
paths:
- 'src/palletjack/**'
- '.github/workflows/palletjack.yml'
- '.github/actions/palletjack/deploy/action.yml'
concurrency:
group: '${{ github.head_ref || github.ref }}'
cancel-in-progress: true
permissions:
id-token: write
contents: read
defaults:
run:
shell: bash
working-directory: src/palletjack
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: ⬇️ Set up code
uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt install -y libkrb5-dev
pip install -r src/roadkill/requirements.txt
pip install -r src/roadkill/requirements.dev.txt
- name: Test with pytest
run: pytest
deploy-dev:
name: Deploy Staging to GCF
runs-on: ubuntu-latest
needs: test
if: github.ref_name == 'staging'
environment:
name: Staging
steps:
- name: ⬇️ Set up code
uses: actions/checkout@v4
- name: 🚀 Deploy
uses: ./.github/actions/palletjack/deploy
with:
identity_provider: ${{ secrets.IDENTITY_PROVIDER }}
service_account_email: ${{ secrets.SERVICE_ACCOUNT_EMAIL }}
project_id: ${{ secrets.PROJECT_ID }}
schedule: 0 6 * * *
deploy-prod:
name: Deploy Production to GCF
runs-on: ubuntu-latest
needs: test
if: github.ref_name == 'production'
environment:
name: Production
steps:
- name: ⬇️ Set up code
uses: actions/checkout@v4
- name: 🚀 Deploy
uses: ./.github/actions/palletjack/deploy
with:
identity_provider: ${{ secrets.IDENTITY_PROVIDER }}
service_account_email: ${{ secrets.SERVICE_ACCOUNT_EMAIL }}
project_id: ${{ secrets.PROJECT_ID }}
schedule: 0 6,12,18,0 * * *