diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..5ca8e8d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,51 @@ +name: release +run-name: Release Docker Image +on: + push: + tags: + - 'v*' + +jobs: + Deploy-Image: + runs-on: ubuntu-latest + environment: release + timeout-minutes: 3 + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Set up Node Environment lts/hydrogen + uses: actions/setup-node@v4 + with: + node-version: lts/hydrogen + cache: "npm" + + - name: Create Environment Variables + run: | + touch .env + echo CLIENT_TOKEN = NOT_REAL_TOKEN >> .env + echo GUILD_ID = 123456 >> .env + echo MODEL = ${{ secrets.MODEL }} >> .env + echo CLIENT_UID = ${{ secrets.CLIENT_UID }} >> .env + echo OLLAMA_IP = ${{ secrets.OLLAMA_IP }} >> .env + echo OLLAMA_PORT = ${{ secrets.OLLAMA_PORT }} >> .env + + - name: Get Version from package.json + run: echo "VERSION=$(jq -r '.version' package.json)" >> $GITHUB_ENV + + - name: Build Image + run: | + npm run docker:build + + - name: Build Image as Latest + run: | + npm run docker:build-latest + + - name: Log into Docker + run: | + docker login --username ${{ vars.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }} + + - name: Release Docker Image + run: | + docker push ${{ vars.DOCKER_USER }}/discord-ollama:${{ env.VERSION }} + docker push ${{ vars.DOCKER_USER }}/discord-ollama:latest \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 258b1a1..8bb311b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,7 +8,7 @@ services: build: ./ # find docker file in designated path container_name: discord restart: always # rebuild container always - image: discord/bot:0.5.7 + image: kevinthedang/discord-ollama:0.5.8 environment: CLIENT_TOKEN: ${CLIENT_TOKEN} GUILD_ID: ${GUILD_ID} diff --git a/package-lock.json b/package-lock.json index e75fab6..1b24656 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "discord-ollama", - "version": "0.5.7", + "version": "0.5.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "discord-ollama", - "version": "0.5.7", + "version": "0.5.8", "license": "ISC", "dependencies": { "discord.js": "^14.15.3", diff --git a/package.json b/package.json index 402a4b4..6c88e84 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "discord-ollama", - "version": "0.5.7", + "version": "0.5.8", "description": "Ollama Integration into discord", "main": "build/index.js", "exports": "./build/index.js", @@ -18,8 +18,9 @@ "docker:start-cpu": "npm run docker:network && npm run docker:build && npm run docker:client && npm run docker:ollama-cpu", "docker:clean": "docker rm -f discord && docker rm -f ollama && docker rmi $(docker images --filter \"dangling=true\" -q --no-trunc)", "docker:network": "docker network create --subnet=172.18.0.0/16 ollama-net", - "docker:build": "docker build --no-cache -t discord/bot:$(node -p \"require('./package.json').version\") .", - "docker:client": "docker run -d -v discord:/src/app --name discord --network ollama-net --ip 172.18.0.3 discord/bot:$(node -p \"require('./package.json').version\")", + "docker:build": "docker build --no-cache -t kevinthedang/discord-ollama:$(node -p \"require('./package.json').version\") .", + "docker:build-latest": "docker build --no-cache -t kevinthedang/discord-ollama:latest .", + "docker:client": "docker run -d -v discord:/src/app --name discord --network ollama-net --ip 172.18.0.3 kevinthedang/discord-ollama:$(node -p \"require('./package.json').version\")", "docker:ollama": "docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --network ollama-net --ip 172.18.0.2 ollama/ollama:latest", "docker:ollama-cpu": "docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama --network ollama-net --ip 172.18.0.2 ollama/ollama:latest" },