Skip to content

Commit

Permalink
condense to one workflow file
Browse files Browse the repository at this point in the history
  • Loading branch information
kevingrismore committed Mar 5, 2024
1 parent dbce6c7 commit 10e077f
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 125 deletions.
61 changes: 0 additions & 61 deletions .github/workflows/project-2-deploy-prod.yaml

This file was deleted.

61 changes: 0 additions & 61 deletions .github/workflows/project-2-deploy-stg.yaml

This file was deleted.

112 changes: 112 additions & 0 deletions .github/workflows/project-2-deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: Build image and deploy Prefect flow - Project 2

env:
PROJECT_NAME: project_2

on:
push:
branches:
- stg
- main
paths:
- "project_2/**"
workflow_dispatch:

jobs:
deploy-staging:
name: Deploy to staging
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/stg'

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Get commit hash
id: get-commit-hash
run: echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"

- name: Build and push
id: build-docker-image
env:
GITHUB_SHA: ${{ steps.get-commit-hash.outputs.COMMIT_HASH }}
uses: docker/build-push-action@v5
with:
context: ${{ env.PROJECT_NAME }}/
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/${{ env.PROJECT_NAME }}:${{ env.GITHUB_SHA }}-stg
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"

- name: Prefect Deploy
env:
PREFECT_API_KEY: ${{ secrets.PREFECT_API_KEY }}
IMAGE_NAME: ${{ steps.build-docker-image.outputs.metadata.image.name }}
run: |
pip install -r $PROJECT_NAME/requirements.txt
prefect cloud workspace set -w sales-engineering/sandbox-kevin-stg
prefect deploy --all --prefect-file $PROJECT_NAME/prefect.yaml
deploy-production:
name: Deploy to production
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Get commit hash
id: get-commit-hash
run: echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"

- name: Build and push
id: build-docker-image
env:
GITHUB_SHA: ${{ steps.get-commit-hash.outputs.COMMIT_HASH }}
uses: docker/build-push-action@v5
with:
context: ${{ env.PROJECT_NAME }}/
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/${{ env.PROJECT_NAME }}:${{ env.GITHUB_SHA }}-prod
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"

- name: Prefect Deploy
env:
PREFECT_API_KEY: ${{ secrets.PREFECT_API_KEY }}
IMAGE_NAME: ${{ steps.build-docker-image.outputs.metadata.image.name }}
run: |
pip install -r $PROJECT_NAME/requirements.txt
prefect cloud workspace set -w sales-engineering/sandbox-kevin
prefect deploy --all --prefect-file $PROJECT_NAME/prefect.yaml
6 changes: 3 additions & 3 deletions project_2/prefect.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@ push:
- prefect_aws.deployments.steps.push_to_s3:
requires: prefect-aws
bucket: cicd-example-workspaces
folder: project_2
folder: "{{ $PROJECT_NAME }}"
credentials: "{{ prefect.blocks.aws-credentials.ecs-worker-changes }}"

pull:
- prefect_aws.deployments.steps.pull_from_s3:
requires: prefect-aws
bucket: cicd-example-workspaces
folder: project_2
folder: "{{ $PROJECT_NAME }}"
credentials: "{{ prefect.blocks.aws-credentials.ecs-worker-changes }}"

deployments:
- name: my-project-2-deployment
entrypoint: project_2/flow.py:hello
entrypoint: "{{ $PROJECT_NAME }}/flow.py:hello"
work_pool:
name: k8s-demo
work_queue_name: default
Expand Down

0 comments on commit 10e077f

Please sign in to comment.