UpdatedREADME.md #5
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: Spam Detection with Docker and CI/CD | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' # Use Python version 3.11 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt # Ensure you have a requirements.txt file | |
- name: Run tests | |
run: | | |
pytest test_app.py # Specify your test file here | |
dockerbuild: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build The Docker Image | |
run: docker build . --file Dockerfile --tag workflow-test:$(date +%s) # Use 'Dockerfile' (lowercase 'f') | |
build-and-publish: | |
needs: [dockerbuild] # This job depends on the dockerbuild job | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
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.DOCKER_USERNAME }} # Set in your repo secrets | |
password: ${{ secrets.DOCKER_PASSWORD }} # Set in your repo secrets | |
- name: Build and push Docker image | |
uses: docker/build-push-action@v4 | |
with: | |
context: . | |
file: ./Dockerfile # Use 'Dockerfile' (lowercase 'f') | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/flask-app:latest # Specify your Docker image name | |
- name: Image digest | |
run: echo ${{ steps.build-and-publish.outputs.digest }} |