Skip to content

Added github build workflow #7

Added github build workflow

Added github build workflow #7

Workflow file for this run

name: Build and Push Container
on:
workflow_dispatch:
push:
branches: [ "main" ]
paths:
- "Dockerfile.production"
- "compose.prod.yaml"
- "requirements.txt"
- assets/
- reflex_gpt/
- rxconfig.py
- alembic.ini
- alembic/
- .github/workflows/build.yaml
env:
# DOCKER_IMAGE: codingforentrepreneurs/reflex-gpt
# uncomment if using
DOCKER_IMAGE: ${{ secrets.DOCKERHUB_REPO }}
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# For Reflex to build a container,
# injecting your environment variables at
# container build time is often required.
- name: Create build env file
run: |
cat << EOF > .build-env
OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
DATABASE_URL=${{ secrets.DATABASE_URL }}
EOF
- name: Build and push
run: |
docker build -f Dockerfile.production -t ${{ env.DOCKER_IMAGE }}:latest .
docker tag ${{ env.DOCKER_IMAGE }}:latest ${{ env.DOCKER_IMAGE }}:${{ github.sha }}
docker push ${{ env.DOCKER_IMAGE }} --all-tags
- name: Remove build env file
run: rm .build-env