name: Build and Push Docker Image on: schedule: - cron: '0 0 1 * *' # This runs at midnight on the first day of every month push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Log in to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - name: Build the Docker image id: build run: | docker build . -t k2patel/postfix:latest echo "IMAGE_NAME=k2patel/postfix:latest" >> $GITHUB_ENV - name: Push the Docker image run: docker push ${{ env.IMAGE_NAME }}