From 506be81afb15b351a4dc7104a628868031fc9b2d Mon Sep 17 00:00:00 2001 From: Alexis LEBEL Date: Sun, 2 Apr 2023 14:06:05 +0200 Subject: [PATCH 1/3] [GH/DOCKER] Enhanced build action, added arm64 --- .github/workflows/buildDockerImage.yml | 48 ++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/.github/workflows/buildDockerImage.yml b/.github/workflows/buildDockerImage.yml index 56b93ed..4f844ee 100644 --- a/.github/workflows/buildDockerImage.yml +++ b/.github/workflows/buildDockerImage.yml @@ -5,17 +5,59 @@ name: Build Docker Image on: push: branches: - - master + - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Build Docker image + - name: Build Docker image with sha run: | docker build -t ${{ secrets.DOCKER_USERNAME }}/botator:${{ github.sha }} . + + - name: Build Docker image with latest + run: | + docker build -t ${{ secrets.DOCKER_USERNAME }}/botator:latest . + - name: Push Docker image to Docker Hub run: | echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin - docker push ${{ secrets.DOCKER_USERNAME }}/botator:${{ github.sha }} \ No newline at end of file + docker push ${{ secrets.DOCKER_USERNAME }}/botator:${{ github.sha }} + + - name: Push Docker image latest to Docker Hub + run: | + echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin + docker push ${{ secrets.DOCKER_USERNAME }}/botator:latest + + build_arm64: + # This is the job for arm64 architecture + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + # We are using qemu to emulate arm64 architecture + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/arm64 + push: true + tags: ${{ secrets.DOCKER_USERNAME }}/botator_arm64:${{ github.sha }} + - name: Build and push latest + id: docker_build_latest + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/arm64 + push: true + tags: ${{ secrets.DOCKER_USERNAME }}/botator_arm64:latest \ No newline at end of file From 187b833474dc6b90d516059f998f8df18d387c96 Mon Sep 17 00:00:00 2001 From: Alexis LEBEL Date: Sun, 2 Apr 2023 14:23:12 +0200 Subject: [PATCH 2/3] [CONFIG] Debug to print if not on windows --- code/config.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/config.py b/code/config.py index b40ce1f..f649128 100644 --- a/code/config.py +++ b/code/config.py @@ -20,6 +20,8 @@ def debug(message): # if the os is windows, we logging.info(message), if if os.name == "nt": logging.info(message) + else: + printf(message) # connect to the database From dc48b7d21e571edc9bcbf67b826404516336dd9b Mon Sep 17 00:00:00 2001 From: Alexis LEBEL Date: Sun, 2 Apr 2023 14:42:37 +0200 Subject: [PATCH 3/3] [Images] Fixed images recognition with google --- code/makeprompt.py | 8 ++++---- code/vision_processing.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/makeprompt.py b/code/makeprompt.py index a24215a..890af34 100644 --- a/code/makeprompt.py +++ b/code/makeprompt.py @@ -398,16 +398,16 @@ async def gpt_prompt(bot, messages, message, data_dict, prompt, guild_data): ): for attachment in msg.attachments: path = f"./../database/google-vision/results/{attachment.id}.txt" - if images_usage >= 6 and guild_data["premium"] == 0: + if data_dict['images_usage'] >= 6 and guild_data["premium"] == 0: guild_data["images_limit_reached"] = True - elif images_usage >= 30 and guild_data["premium"] == 1: + elif data_dict['images_usage'] >= 30 and guild_data["premium"] == 1: guild_data["images_limit_reached"] = True if ( attachment.url.endswith((".png", ".jpg", ".jpeg", ".gif")) and not guild_data["images_limit_reached"] and not os.path.exists(path) ): - images_usage += 1 + data_dict['images_usage'] += 1 analysis = await vision_processing.process(attachment) if analysis != None: content = f"{content} \n\n {analysis}" @@ -446,7 +446,7 @@ async def gpt_prompt(bot, messages, message, data_dict, prompt, guild_data): ) curs_data.execute( "UPDATE images SET usage_count = ? WHERE guild_id = ?", - (images_usage, message.guild.id), + (data_dict['images_usage'], message.guild.id), ) else: msgs.append({"role": role, "content": f"{content}", "name": name}) diff --git a/code/vision_processing.py b/code/vision_processing.py index 8f0fcf0..85d610a 100644 --- a/code/vision_processing.py +++ b/code/vision_processing.py @@ -10,7 +10,7 @@ from google.cloud import vision try: client = vision.ImageAnnotatorClient() except: - debug("Google Vision API is not setup, please run /setup") + print("Google Vision API is not setup, please run /setup") @@ -64,4 +64,4 @@ async def process(attachment): return final except Exception as e: - debug("Error while processing image: " + str(e)) + print("Error while processing image: " + str(e))