diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index dc0fcadb..5774571c 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -19,7 +19,7 @@ concurrency: jobs: deployment: name: Perform deployment - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 permissions: read-all environment: @@ -28,15 +28,15 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to Heroku uses: akhileshns/heroku-deploy@v3.13.15 @@ -50,7 +50,7 @@ jobs: run: heroku container:login - name: Build Docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: push: true provenance: false diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index aac2afb0..9bb30467 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -15,33 +15,33 @@ on: jobs: validate-pr-title: name: Validate PR title - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - - uses: amannn/action-semantic-pull-request@v5 + - uses: amannn/action-semantic-pull-request@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} integration: name: Continuous integration checks - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Setup pnpm - uses: pnpm/action-setup@v4.0.0 + uses: pnpm/action-setup@v5.0.0 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version-file: .nvmrc cache: pnpm @@ -62,7 +62,7 @@ jobs: run: pnpm test - name: Build Docker image for project - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: push: false cache-from: type=gha diff --git a/.nvmrc b/.nvmrc index 8326e27f..9af71224 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.3.0 +25.8.2 diff --git a/Dockerfile b/Dockerfile index 71625e10..2b945d71 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22.3.0-alpine as base +FROM node:25.8.2-alpine as base WORKDIR /app @@ -29,7 +29,7 @@ RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store/v3 \ pnpm prune --prod && \ pnpm install --production --frozen-lockfile --offline -FROM node:22.3.0-alpine as application +FROM node:25.8.2-alpine as application WORKDIR /app diff --git a/docker-compose.yaml b/docker-compose.yaml index f926130a..1554ebb5 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -5,7 +5,7 @@ volumes: services: redis: - image: redis:7.2.5-alpine + image: redis:8.6.2-alpine ports: - '6379:6379' volumes: diff --git a/package.json b/package.json index 01f9f1c5..15130ce7 100644 --- a/package.json +++ b/package.json @@ -15,38 +15,38 @@ "check": "run-s check:*" }, "dependencies": { - "@keyv/redis": "2.8.5", + "@keyv/redis": "5.1.6", "change-case": "5.4.4", "cheerio": "1.0.0-rc.12", - "cron": "3.1.7", + "cron": "4.4.0", "discord.js": "14.15.3", "ioredis": "5.4.1", - "keyv": "4.5.4", + "keyv": "5.6.0", "nanoid": "5.0.7", "open-graph-scraper": "6.5.2", - "zod": "3.23.8" + "zod": "4.3.6" }, "devDependencies": { - "@types/node": "20.14.2", - "@typescript-eslint/eslint-plugin": "7.13.0", - "@typescript-eslint/parser": "7.13.0", - "dotenv": "16.4.5", - "eslint": "8.57.0", - "eslint-import-resolver-typescript": "3.6.1", + "@types/node": "25.5.0", + "@typescript-eslint/eslint-plugin": "8.58.0", + "@typescript-eslint/parser": "8.58.0", + "dotenv": "17.3.1", + "eslint": "10.1.0", + "eslint-import-resolver-typescript": "4.4.4", "eslint-plugin-import": "2.29.1", "eslint-plugin-only-error": "1.0.2", "eslint-plugin-simple-import-sort": "12.1.0", - "eslint-plugin-sonarjs": "1.0.3", - "eslint-plugin-unused-imports": "3.2.0", - "npm-run-all2": "6.2.0", + "eslint-plugin-sonarjs": "4.0.2", + "eslint-plugin-unused-imports": "4.4.1", + "npm-run-all2": "8.0.4", "prettier": "3.3.2", "tsup": "8.1.0", - "type-fest": "4.20.0", - "typescript": "5.4.5", + "type-fest": "5.5.0", + "typescript": "6.0.2", "vitest": "1.6.0" }, - "packageManager": "pnpm@9.3.0", + "packageManager": "pnpm@10.33.0", "engines": { - "node": "22.3.0" + "node": "25.8.2" } }