mirror of
https://github.com/umami-software/umami.git
synced 2026-02-04 04:37:11 +01:00
Merge 1fa9c9dae1 into 0cd63049ed
This commit is contained in:
commit
3f60e18a4f
2 changed files with 35 additions and 19 deletions
50
.github/workflows/cd.yml
vendored
50
.github/workflows/cd.yml
vendored
|
|
@ -23,6 +23,15 @@ jobs:
|
|||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- type: standard
|
||||
base_path: ""
|
||||
suffix: ""
|
||||
- type: base
|
||||
base_path: "/umami"
|
||||
suffix: "-base"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
|
@ -55,6 +64,7 @@ jobs:
|
|||
REF_TYPE="${{ github.ref_type }}"
|
||||
REF_NAME="${{ github.ref_name }}"
|
||||
INCLUDE_LATEST="${{ github.event.inputs.include_latest }}"
|
||||
SUFFIX="${{ matrix.suffix }}"
|
||||
|
||||
# Determine version source
|
||||
if [[ -n "$INPUT" ]]; then
|
||||
|
|
@ -74,30 +84,30 @@ jobs:
|
|||
|
||||
if [[ "$VERSION" == *-* ]]; then
|
||||
# prerelease: only version tag
|
||||
GHCR_TAGS="ghcr.io/${{ github.repository }}:$VERSION"
|
||||
DOCKER_TAGS="umamisoftware/umami:$VERSION"
|
||||
GHCR_TAGS="ghcr.io/${{ github.repository }}:$VERSION$SUFFIX"
|
||||
DOCKER_TAGS="umamisoftware/umami:$VERSION$SUFFIX"
|
||||
else
|
||||
# stable release: version + hierarchy
|
||||
GHCR_TAGS="ghcr.io/${{ github.repository }}:$VERSION"
|
||||
GHCR_TAGS="$GHCR_TAGS,ghcr.io/${{ github.repository }}:${MAJOR}.${MINOR}"
|
||||
GHCR_TAGS="$GHCR_TAGS,ghcr.io/${{ github.repository }}:${MAJOR}"
|
||||
GHCR_TAGS="$GHCR_TAGS,ghcr.io/${{ github.repository }}:postgresql-latest"
|
||||
GHCR_TAGS="ghcr.io/${{ github.repository }}:$VERSION$SUFFIX"
|
||||
GHCR_TAGS="$GHCR_TAGS,ghcr.io/${{ github.repository }}:${MAJOR}.${MINOR}$SUFFIX"
|
||||
GHCR_TAGS="$GHCR_TAGS,ghcr.io/${{ github.repository }}:${MAJOR}$SUFFIX"
|
||||
GHCR_TAGS="$GHCR_TAGS,ghcr.io/${{ github.repository }}:postgresql-latest$SUFFIX"
|
||||
|
||||
DOCKER_TAGS="umamisoftware/umami:$VERSION"
|
||||
DOCKER_TAGS="$DOCKER_TAGS,umamisoftware/umami:${MAJOR}.${MINOR}"
|
||||
DOCKER_TAGS="$DOCKER_TAGS,umamisoftware/umami:${MAJOR}"
|
||||
DOCKER_TAGS="$DOCKER_TAGS,umamisoftware/umami:postgresql-latest"
|
||||
DOCKER_TAGS="umamisoftware/umami:$VERSION$SUFFIX"
|
||||
DOCKER_TAGS="$DOCKER_TAGS,umamisoftware/umami:${MAJOR}.${MINOR}$SUFFIX"
|
||||
DOCKER_TAGS="$DOCKER_TAGS,umamisoftware/umami:${MAJOR}$SUFFIX"
|
||||
DOCKER_TAGS="$DOCKER_TAGS,umamisoftware/umami:postgresql-latest$SUFFIX"
|
||||
|
||||
# Add latest tag based on trigger and input
|
||||
if [[ "$REF_TYPE" == "tag" ]] || [[ "$INCLUDE_LATEST" == "true" ]]; then
|
||||
GHCR_TAGS="$GHCR_TAGS,ghcr.io/${{ github.repository }}:latest"
|
||||
DOCKER_TAGS="$DOCKER_TAGS,umamisoftware/umami:latest"
|
||||
GHCR_TAGS="$GHCR_TAGS,ghcr.io/${{ github.repository }}:latest$SUFFIX"
|
||||
DOCKER_TAGS="$DOCKER_TAGS,umamisoftware/umami:latest$SUFFIX"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Non-tag build (e.g. from main branch)
|
||||
GHCR_TAGS="ghcr.io/${{ github.repository }}:${REF_NAME}"
|
||||
DOCKER_TAGS="umamisoftware/umami:${REF_NAME}"
|
||||
GHCR_TAGS="ghcr.io/${{ github.repository }}:${REF_NAME}$SUFFIX"
|
||||
DOCKER_TAGS="umamisoftware/umami:${REF_NAME}$SUFFIX"
|
||||
fi
|
||||
|
||||
echo "ghcr_tags=$GHCR_TAGS" >> $GITHUB_OUTPUT
|
||||
|
|
@ -112,8 +122,10 @@ jobs:
|
|||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.compute.outputs.ghcr_tags }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
build-args: |
|
||||
BASE_PATH=${{ matrix.base_path }}
|
||||
cache-from: type=gha,scope=${{ matrix.type }}
|
||||
cache-to: type=gha,mode=max,scope=${{ matrix.type }}
|
||||
|
||||
- name: Build and push to Docker Hub
|
||||
if: github.repository == 'umami-software/umami'
|
||||
|
|
@ -123,5 +135,7 @@ jobs:
|
|||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.compute.outputs.docker_tags }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
build-args: |
|
||||
BASE_PATH=${{ matrix.base_path }}
|
||||
cache-from: type=gha,scope=${{ matrix.type }}
|
||||
cache-to: type=gha,mode=max,scope=${{ matrix.type }}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ COPY --from=deps /app/node_modules ./node_modules
|
|||
COPY . .
|
||||
COPY docker/middleware.ts ./src
|
||||
|
||||
ARG BASE_PATH
|
||||
ARG BASE_PATH=""
|
||||
|
||||
ENV BASE_PATH=$BASE_PATH
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
|
|
@ -30,10 +30,12 @@ WORKDIR /app
|
|||
|
||||
ARG PRISMA_VERSION="6.19.0"
|
||||
ARG NODE_OPTIONS
|
||||
ARG BASE_PATH=""
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
ENV NODE_OPTIONS=$NODE_OPTIONS
|
||||
ENV BASE_PATH=$BASE_PATH
|
||||
|
||||
RUN addgroup --system --gid 1001 nodejs
|
||||
RUN adduser --system --uid 1001 nextjs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue