feat(release): automate versioned releases on main

This commit is contained in:
2026-09-17 18:41:53 +02:00
parent dd37622bb6
commit 92859f3ccf
39 changed files with 7365 additions and 243 deletions

8
frontend/.dockerignore Normal file
View File

@@ -0,0 +1,8 @@
node_modules
.nuxt
.output
.git
.env
.env.*
!.env.example
*.log

View File

@@ -1,18 +1,26 @@
# --- Stage 1: Build ---
FROM node:20-alpine AS builder
FROM node:22-alpine AS builder
WORKDIR /usr/src/nuxt-app
# Nur Files kopieren, die für die Installation nötig sind (besseres Caching)
COPY package*.json ./
RUN npm install
RUN npm ci
# Restlichen Code kopieren und bauen
COPY . .
ARG FEDEO_VERSION=0.0.0-dev
ARG FEDEO_REVISION=unknown
ENV FEDEO_VERSION=$FEDEO_VERSION
ENV FEDEO_REVISION=$FEDEO_REVISION
RUN npm run build
# --- Stage 2: Runtime ---
FROM node:20-alpine AS runner
FROM node:22-alpine AS runner
ARG FEDEO_VERSION=0.0.0-dev
ARG FEDEO_REVISION=unknown
ENV FEDEO_VERSION=$FEDEO_VERSION
ENV FEDEO_REVISION=$FEDEO_REVISION
WORKDIR /usr/src/nuxt-app
@@ -28,4 +36,4 @@ ENV NODE_ENV=production
EXPOSE 3000
ENTRYPOINT ["node", ".output/server/index.mjs"]
ENTRYPOINT ["node", ".output/server/index.mjs"]

View File

@@ -12,6 +12,7 @@ const colorMode = useColorMode()
const {isHelpSlideoverOpen} = useDashboard()
const router = useRouter()
const route = useRoute()
const buildInfo = useRuntimeConfig().public
const auth = useAuthStore()
const labelPrinter = useLabelPrinterStore()
@@ -298,6 +299,9 @@ onMounted(() => {
</UButton>
</div>
<p v-if="!collapsed" class="px-2.5 text-xs text-gray-500 dark:text-gray-400" :title="buildInfo.fedeoRevision">
FEDEO {{ buildInfo.fedeoVersion }}
</p>
<USeparator class="sticky bottom-0 w-full"/>
<UserDropdown style="margin-bottom: env(safe-area-inset-bottom, 10px) !important;" class="w-full"/>
</div>

View File

@@ -81,6 +81,8 @@ export default defineNuxtConfig({
public: {
apiBase: '',
pdfLicense: '',
fedeoVersion: process.env.FEDEO_VERSION || '0.0.0-dev',
fedeoRevision: process.env.FEDEO_REVISION || 'unknown',
}
},

View File

@@ -3741,6 +3741,18 @@
}
}
},
"node_modules/@nuxt/cli/node_modules/commander": {
"version": "13.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
"integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@nuxt/devalue": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@nuxt/devalue/-/devalue-2.0.2.tgz",