Skip to content

Commit 40b43f8

Browse files
committed
fix: migrate to bash instead of node
1 parent d8745aa commit 40b43f8

File tree

6 files changed

+52
-158
lines changed

6 files changed

+52
-158
lines changed

.github/workflows/build-and-push.yml

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,33 @@ jobs:
2222
with:
2323
node-version: '22'
2424

25-
- name: install dependencies
26-
run: npm i
25+
- name: Install root dependencies
26+
run: npm ci
2727

28-
- name: dependency check
28+
- name: Run dependency check
2929
run: npm run dependencyCheck
3030

31-
- name: run all tests
31+
- name: Run all tests
3232
run: npm test
3333

34+
- name: Run prebuild checks
35+
run: |
36+
npm run docu
37+
node build/checkTranslationKeys.mjs
38+
39+
- name: Build client
40+
working-directory: client
41+
env:
42+
VITE_PUBLIC_POSTHOG_KEY: ${{ secrets.VITE_PUBLIC_POSTHOG_KEY }}
43+
VITE_PUBLIC_POSTHOG_HOST: ${{ secrets.VITE_PUBLIC_POSTHOG_HOST }}
44+
run: |
45+
npm ci
46+
npm run build
47+
48+
- name: Install server dependencies
49+
working-directory: server
50+
run: npm ci
51+
3452
- name: Log in to GitHub Container Registry
3553
if: inputs.push_image
3654
uses: docker/login-action@v3
@@ -39,13 +57,31 @@ jobs:
3957
username: ${{ github.actor }}
4058
password: ${{ secrets.GITHUB_TOKEN }}
4159

42-
- name: build app & docker image
60+
- name: Get git info
61+
id: git-info
62+
run: |
63+
echo "branch=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_OUTPUT
64+
echo "hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
65+
echo "tags=$(git tag --points-at HEAD)" >> $GITHUB_OUTPUT
66+
67+
- name: Build and tag Docker image
4368
env:
4469
DOCKER_REGISTRY: ghcr.io
4570
DOCKER_USERNAME: ${{ github.repository_owner }}
46-
VITE_PUBLIC_POSTHOG_KEY: ${{ secrets.VITE_PUBLIC_POSTHOG_KEY }}
47-
VITE_PUBLIC_POSTHOG_HOST: ${{ secrets.VITE_PUBLIC_POSTHOG_HOST }}
48-
run: npm run build:dockerImage
71+
run: |
72+
DOCKER_USER="${DOCKER_USERNAME,,}"
73+
BASE_TAG="$DOCKER_REGISTRY/$DOCKER_USER/poinz"
74+
75+
# Build with all tags
76+
TAGS_ARG="-t $BASE_TAG:latest"
77+
if [ ! -z "${{ steps.git-info.outputs.tags }}" ]; then
78+
for tag in ${{ steps.git-info.outputs.tags }}; do
79+
TAGS_ARG="$TAGS_ARG -t $BASE_TAG:$tag"
80+
done
81+
fi
82+
83+
echo "Building docker image for commit ${{ steps.git-info.outputs.hash }} on branch ${{ steps.git-info.outputs.branch }}"
84+
docker build $TAGS_ARG --network=host .
4985
5086
- name: Push Docker image
5187
if: inputs.push_image

Dockerfile

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# let's use node 18.x on Debian 11 ("bullseye") see https://hub.docker.com/_/node
22
FROM node:18-bullseye
33

4-
# Create app directories
5-
RUN mkdir -p /usr/src/poinz/public
6-
RUN mkdir -p /usr/src/poinz/src
4+
# Create app directory
75
WORKDIR /usr/src/poinz
86

9-
# Bundle app source
10-
COPY deploy/public /usr/src/poinz/public
11-
COPY deploy/src /usr/src/poinz/src
12-
COPY deploy/package.json /usr/src/poinz/
13-
COPY deploy/package-lock.json /usr/src/poinz/
7+
# Copy client build artifacts
8+
COPY client/dist /usr/src/poinz/public
9+
10+
# Copy server files
11+
COPY server/src /usr/src/poinz/src
12+
COPY server/package.json /usr/src/poinz/
13+
COPY server/package-lock.json /usr/src/poinz/
1414

1515
# install app dependencies
1616
RUN npm install --omit=dev

build/build.mjs

Lines changed: 0 additions & 46 deletions
This file was deleted.

build/buildUtils.mjs

Lines changed: 0 additions & 30 deletions
This file was deleted.

build/dockerImage.mjs

Lines changed: 0 additions & 63 deletions
This file was deleted.

package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
"ft": "npm run format && npm t",
1515
"format": "cd client/ && npm run format && cd ../server/ && npm run format && cd ../poinz-e2e/ && npm run format && cd ../ && prettier --write \"build/*.mjs\" \"docu/**/*.mjs\" ",
1616
"test": "cd client/ && npm test && cd ../server && npm test",
17-
"prebuild": "node build/checkTranslationKeys.mjs && npm run docu",
18-
"build": "node build/build.mjs",
19-
"build:dockerImage": "npm run build && node build/dockerImage.mjs",
2017
"dependencyCheck": "ncu --packageFile ./package.json > npm_dependencies_report.poinz.md && ncu --packageFile ./client/package.json > npm_dependencies_report.poinz-client.md && ncu --packageFile ./server/package.json > npm_dependencies_report.poinz-server.md && ncu --packageFile ./poinz-e2e/package.json > npm_dependencies_report.poinz-e2e.md",
2118
"postinstall": "cd client/ && npm i && cd ../server && npm i",
2219
"docu": "node docu/src/docuGenerator.mjs",

0 commit comments

Comments
 (0)