Docker & Versions
This commit is contained in:
1 parent
af57e4a25f
commit
8050f0a874
6 files changed
+71
-54
No files matched your search
+3
-1
@@ -6,9 +6,11 @@
|
||||
|
||||
# Source
|
||||
!src/
|
||||
!prisma/
|
||||
|
||||
# Dependencies
|
||||
!package*.json
|
||||
!package.json
|
||||
!pnpm-lock.yaml
|
||||
|
||||
# Typescript compiller config
|
||||
!tsconfig.json
|
||||
@@ -1,15 +1,48 @@
|
||||
name: Docker
|
||||
name: actions
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Mocha"]
|
||||
types:
|
||||
- completed
|
||||
push:
|
||||
tags:
|
||||
- "*"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
mocha:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
pnpm-version: [8]
|
||||
|
||||
steps:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: ${{ matrix.pnpm-version }}
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: ESLint & Prettier
|
||||
run: pnpm run lint
|
||||
|
||||
- name: Build
|
||||
run: pnpm run build
|
||||
|
||||
- name: Test
|
||||
run: pnpm run --if-present test
|
||||
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
needs: mocha
|
||||
|
||||
steps:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v3
|
||||
@@ -1,40 +0,0 @@
|
||||
name: Mocha
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "*"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
pnpm-version: [8]
|
||||
|
||||
steps:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: ${{ matrix.pnpm-version }}
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: ESLint && Prettier
|
||||
run: pnpm run lint --if-present
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm ci
|
||||
|
||||
- name: Build
|
||||
run: pnpm run build --if-present
|
||||
|
||||
- name: Test
|
||||
run: pnpm test --if-present
|
||||
+27
-4
@@ -1,3 +1,17 @@
|
||||
FROM node:18-alpine as builder
|
||||
|
||||
RUN npm install -g pnpm
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
|
||||
RUN pnpm install
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN pnpm run build
|
||||
|
||||
FROM node:18-alpine
|
||||
|
||||
RUN apk update
|
||||
@@ -8,13 +22,22 @@ RUN apk add --no-cache python3
|
||||
|
||||
RUN npm install -g pnpm
|
||||
|
||||
ENV NODE_ENV production
|
||||
USER node
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN mkdir bin
|
||||
RUN curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/src/app/bin/youtube-dl
|
||||
RUN chmod a+rx /usr/src/app/bin/youtube-dl
|
||||
RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/src/app/bin/yt-dlp
|
||||
RUN chmod a+rx /usr/src/app/bin/yt-dlp
|
||||
|
||||
COPY . .
|
||||
RUN pnpm install
|
||||
COPY prisma/ .
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
|
||||
RUN pnpm install --prod
|
||||
|
||||
RUN pnpx prisma generate
|
||||
|
||||
COPY --from=builder /usr/src/app/dist ./dist
|
||||
|
||||
CMD [ "pnpm", "start" ]
|
||||
+1
-2
@@ -27,8 +27,7 @@
|
||||
"build": "pnpm exec tsc --build",
|
||||
"clean": "pnpm exec tsc --build --clean",
|
||||
"lint": "pnpm exec eslint --fix . && pnpm exec prettier --write .",
|
||||
"preinstall": "pnpx only-allow pnpm",
|
||||
"prebuild": "pnpm exec prisma migrate deploy"
|
||||
"preinstall": "pnpx only-allow pnpm"
|
||||
},
|
||||
"dependencies": {
|
||||
"@discordjs/opus": "^0.9.0",
|
||||
|
||||
@@ -4,7 +4,7 @@ import { fileURLToPath } from "url";
|
||||
const name = "server";
|
||||
const description = "Server utilities module";
|
||||
const author = "unknowableshade";
|
||||
const tag = "1.0.0";
|
||||
const tag = "0.0.1";
|
||||
|
||||
const rootDir = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
|
||||
Reference in new issue
Block a user