diff --git a/.dev.env b/.dev.env index 46544de..14ad89c 100644 --- a/.dev.env +++ b/.dev.env @@ -16,8 +16,6 @@ BOT_ENV=4 ABOUT_FUNDING= ABOUT_REPO= -DATA_DIR= - DB_HOST=127.0.0.1 DB_PORT=3301 DB_NAME=carddrop diff --git a/.drone.yml b/.drone.yml index 962eb6c..8fb77fd 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,36 +4,16 @@ kind: pipeline name: deployment steps: -- name: build - image: node - commands: - - npm ci - - npm run build -- name: test - image: node - commands: - - npm test -- name: deploy to prod - image: drillster/drone-rsync - secrets: [ ssh_key, bot_token_prod ] +- name: deploy + image: appleboy/drone-ssh settings: - hosts: - - 192.168.68.120 - user: vylpes - key: - from_secret: ssh_key - source: . - target: ~/apps/card-drop/card-drop_prod - recursive: true + host: 192.168.68.120 + username: vylpes + password: + from_secret: ssh_password + port: 22 script: - - export PATH="$HOME/.yarn/bin:$PATH" - - export PATH="$HOME/.nodeuse/bin:$PATH" - - export BOT_TOKEN="$BOT_TOKEN_PROD" - - cd ~/apps/card-drop/card-drop_prod - - docker compose --file docker-compose.prod.yml up -d - - sleep 10 - - cp .prod.env .env - - pm2 restart card-drop_prod || pm2 start --name card-drop_prod dist/bot.js + - sh /home/vylpes/scripts/card-drop/deploy_prod.sh trigger: event: @@ -45,36 +25,16 @@ kind: pipeline name: staging steps: -- name: build - image: node - commands: - - npm ci - - npm run build -- name: test - image: node - commands: - - npm test -- name: deploy to stage - image: drillster/drone-rsync - secrets: [ ssh_key, bot_token_stage ] +- name: stage + image: appleboy/drone-ssh settings: - hosts: - - 192.168.68.120 - user: vylpes - key: - from_secret: ssh_key - source: . - target: ~/apps/card-drop/card-drop_stage - recursive: true + host: 192.168.68.120 + username: vylpes + password: + from_secret: ssh_password + port: 22 script: - - export PATH="$HOME/.yarn/bin:$PATH" - - export PATH="$HOME/.nodeuse/bin:$PATH" - - export BOT_TOKEN="$BOT_TOKEN_STAGE" - - cd ~/apps/card-drop/card-drop_stage - - docker compose --file docker-compose.stage.yml up -d - - sleep 10 - - cp .stage.env .env - - pm2 restart card-drop_stage || pm2 start --name card-drop_stage dist/bot.js + - sh /home/vylpes/scripts/card-drop/deploy_stage.sh trigger: branch: @@ -102,10 +62,13 @@ steps: - name: test image: node commands: + - npm ci - npm test trigger: branch: + - main + - develop - hotfix/* - feature/* - renovate/* diff --git a/.prod.env b/.prod.env index d252f1f..df28009 100644 --- a/.prod.env +++ b/.prod.env @@ -16,8 +16,6 @@ BOT_ENV=1 ABOUT_FUNDING= ABOUT_REPO= -DATA_DIR=/home/vylpes/appdata/card-drop/card-drop_prod - DB_HOST=127.0.0.1 DB_PORT=3321 DB_NAME=carddrop diff --git a/.stage.env b/.stage.env index 3ffed38..79dcc48 100644 --- a/.stage.env +++ b/.stage.env @@ -16,8 +16,6 @@ BOT_ENV=2 ABOUT_FUNDING= ABOUT_REPO= -DATA_DIR=/home/vylpes/appdata/card-drop/card-drop_stage - DB_HOST=127.0.0.1 DB_PORT=3311 DB_NAME=carddrop diff --git a/package-lock.json b/package-lock.json index c8b0b7c..01fe08c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1884,9 +1884,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.10.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", - "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index 1dbe07e..18f9505 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "typeorm": "0.3.17" }, "resolutions": { + "**/undici": "^5.26.2" }, "devDependencies": { "@types/node": "^20.0.0", diff --git a/renovate.json b/renovate.json index 7fa351c..e36bf04 100644 --- a/renovate.json +++ b/renovate.json @@ -1,5 +1,4 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "baseBranches": ["develop"], - "labels": ["type/dependencies"] + "baseBranches": ["develop"] } diff --git a/src/Functions/CardMetadataFunction.ts b/src/Functions/CardMetadataFunction.ts index 99a162e..5a62bfa 100644 --- a/src/Functions/CardMetadataFunction.ts +++ b/src/Functions/CardMetadataFunction.ts @@ -26,7 +26,7 @@ export default class CardMetadataFunction { private static async FindMetadataJSONs(): Promise { const res: SeriesMetadata[] = []; - const seriesJSONs = await glob(path.join(process.env.DATA_DIR!, "cards", "/**/*.json")); + const seriesJSONs = await glob(path.join(process.cwd(), "cards", "/**/*.json")); for (const jsonPath of seriesJSONs) { console.log(`Reading file ${jsonPath}`); diff --git a/src/bot.ts b/src/bot.ts index 912fa3e..aea4ffc 100644 --- a/src/bot.ts +++ b/src/bot.ts @@ -14,7 +14,6 @@ const requiredConfigs: string[] = [ "BOT_OWNERID", "BOT_CLIENTID", "BOT_ENV", - "DATA_DIR", "DB_HOST", "DB_PORT", "DB_AUTH_USER", @@ -40,7 +39,7 @@ Registry.RegisterCommands(); Registry.RegisterEvents(); Registry.RegisterButtonEvents(); -if (!existsSync(`${process.env.DATA_DIR}/cards`) && process.env.GDRIVESYNC_AUTO && process.env.GDRIVESYNC_AUTO == "true") { +if (!existsSync(`${process.cwd()}/cards`) && process.env.GDRIVESYNC_AUTO && process.env.GDRIVESYNC_AUTO == "true") { console.log("Card directory not found, syncing..."); CoreClient.AllowDrops = false; diff --git a/src/buttonEvents/Reroll.ts b/src/buttonEvents/Reroll.ts index a647acd..fa60c97 100644 --- a/src/buttonEvents/Reroll.ts +++ b/src/buttonEvents/Reroll.ts @@ -28,7 +28,7 @@ export default class Reroll extends ButtonEvent { } try { - const image = readFileSync(path.join(process.env.DATA_DIR!, "cards", randomCard.card.path)); + const image = readFileSync(path.join(process.cwd(), "cards", randomCard.card.path)); const imageFileName = randomCard.card.path.split("/").pop()!; await interaction.deferReply(); diff --git a/src/commands/drop.ts b/src/commands/drop.ts index 3e7101b..4fd1ddb 100644 --- a/src/commands/drop.ts +++ b/src/commands/drop.ts @@ -36,7 +36,7 @@ export default class Drop extends Command { } try { - const image = readFileSync(path.join(process.env.DATA_DIR!, "cards", randomCard.card.path)); + const image = readFileSync(path.join(process.cwd(), "cards", randomCard.card.path)); const imageFileName = randomCard.card.path.split("/").pop()!; await interaction.deferReply(); diff --git a/src/commands/gdrivesync.ts b/src/commands/gdrivesync.ts index 2429b4d..697e492 100644 --- a/src/commands/gdrivesync.ts +++ b/src/commands/gdrivesync.ts @@ -29,7 +29,7 @@ export default class Gdrivesync extends Command { CoreClient.AllowDrops = false; - exec(`rclone sync card-drop-gdrive: ${process.env.DATA_DIR}/cards`, async (error: ExecException | null) => { + exec(`rclone sync card-drop-gdrive: ${process.cwd()}/cards`, async (error: ExecException | null) => { if (error) { await interaction.editReply(`Error while running sync command. Safe Mode has been activated. Code: ${error.code}`); await Config.SetValue("safemode", "true"); diff --git a/src/commands/stage/dropnumber.ts b/src/commands/stage/dropnumber.ts index 0642327..2306ed9 100644 --- a/src/commands/stage/dropnumber.ts +++ b/src/commands/stage/dropnumber.ts @@ -47,7 +47,7 @@ export default class Dropnumber extends Command { const imageFileName = card.path.split("/").pop()!; try { - image = readFileSync(path.join(process.env.DATA_DIR!, "cards", card.path)); + image = readFileSync(path.join(process.cwd(), "cards", card.path)); } catch { await interaction.reply(`Unable to fetch image for card ${card.id}`); return; diff --git a/src/commands/stage/droprarity.ts b/src/commands/stage/droprarity.ts index be0a62d..5247546 100644 --- a/src/commands/stage/droprarity.ts +++ b/src/commands/stage/droprarity.ts @@ -50,7 +50,7 @@ export default class Droprarity extends Command { const imageFileName = card.card.path.split("/").pop()!; try { - image = readFileSync(path.join(process.env.DATA_DIR!, "cards", card.card.path)); + image = readFileSync(path.join(process.cwd(), "cards", card.card.path)); } catch { await interaction.reply(`Unable to fetch image for card ${card.card.id}`); return;