name: Docker Build and Push on: push: branches: - main # Triggers the workflow when changes are pushed to the 'main' branch pull_request: branches: - main # Optional: Trigger on pull requests to 'main' for testing jobs: build: runs-on: ubuntu-latest steps: # Step 1: Check out the repository - name: Checkout code uses: actions/checkout@v3 # Check out your GitHub repository # Step 2: Set up Docker Buildx - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 # Set up Docker Buildx to support advanced features like multi-platform builds with: install: true # Step 3: Log in to Docker Hub - name: Log in to Docker Hub uses: docker/login-action@v2 # Logs in to Docker Hub with: username: ${{ secrets.DOCKER_USERNAME }} # Your Docker Hub username stored as a GitHub secret password: ${{ secrets.DOCKER_PASSWORD }} # Your Docker Hub password stored as a GitHub secret # Step 4: Build and push the Docker image - name: Build and Push Docker Image uses: docker/build-push-action@v5 # Build and push the Docker image with: context: . # The context is the root of your repository push: true # Automatically push the image after building tags: ${{ secrets.DOCKER_USERNAME }}/blackboxv2:v786 # Replace 'your-app-name' with your desired Docker image name # Step 5: Log out of Docker Hub - name: Log out of Docker Hub run: docker logout