Consolidated release build

This commit is contained in:
Kasra Bigdeli
2023-05-11 17:04:42 -07:00
parent a260838d8b
commit 9a2447d104
2 changed files with 22 additions and 31 deletions

View File

@@ -4,7 +4,7 @@
set -e
# Print all commands
set -x
set -x
pwd
@@ -16,38 +16,47 @@ else
echo "Running on CI"
fi
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
IMAGE_NAME=caprover/caprover
if [ ! -f ./package-lock.json ]; then
echo "package-lock.json not found!"
exit 1;
exit 1
fi
# BRANCH=$(git rev-parse --abbrev-ref HEAD)
# On Github the line above does not work, instead:
BRANCH=${GITHUB_REF##*/}
echo "on branch $BRANCH"
if [[ "$BRANCH" != "release" ]]; then
echo 'Not on release branch! Aborting script!';
exit 1;
echo 'Not on release branch! Aborting script!'
exit 1
fi
FRONTEND_COMMIT_HASH=3a5f5d584e1e51ac22f07dea09be171bec9425a5
git clean -fdx .
npm ci
npm run build
## Building frontend app
ORIG_DIR=$(pwd)
FRONTEND_DIR=/home/runner/app-frontend
curl -Iv https://registry.yarnpkg.com/
mkdir -p $FRONTEND_DIR && cd $FRONTEND_DIR
git clone https://github.com/githubsaturn/caprover-frontend.git
cd caprover-frontend
git reset --hard $FRONTEND_COMMIT_HASH
git log --max-count=1
yarn install --no-cache --frozen-lockfile --network-timeout 600000
echo "Installation finished"
yarn run build
echo "Building finished"
cd $ORIG_DIR
mv $FRONTEND_DIR/caprover-frontend/build ./dist-frontend
node ./dev-scripts/validate-build-version-docker-hub.js
source ./version
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
export DOCKER_CLI_EXPERIMENTAL=enabled
docker buildx ls
docker buildx create --name mybuilder
docker buildx use mybuilder
docker buildx build --platform linux/amd64,linux/arm64,linux/arm -t $IMAGE_NAME:$CAPROVER_VERSION -t $IMAGE_NAME:latest -f dockerfile-captain.release --push .
docker buildx build --platform linux/amd64,linux/arm64,linux/arm -t $IMAGE_NAME:$CAPROVER_VERSION -t $IMAGE_NAME:latest -f dockerfile-captain.release --push .

View File

@@ -14,24 +14,6 @@ RUN npm ci && \
npm run build
# Build frontend code using a fixed hash commit.
ENV FRONTEND_COMMIT_HASH 3a5f5d584e1e51ac22f07dea09be171bec9425a5
# armV7 fails: https://github.com/yarnpkg/yarn/issues/5259 https://github.com/nodejs/docker-node/issues/1335
RUN curl -Iv https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz && \
mkdir -p /usr/src/app-frontend && cd /usr/src/app-frontend && \
git clone https://github.com/githubsaturn/caprover-frontend.git && \
cd caprover-frontend && \
git reset --hard ${FRONTEND_COMMIT_HASH} && \
yarn install --no-cache --frozen-lockfile --network-timeout 600000 && echo "Installation finished" && \
yarn run build && echo "Building finished" && \
mv ./build ../../app/dist-frontend && \
cd / && \
rm -rf /usr/src/app-frontend
ENV NODE_ENV production
ENV PORT 3000
EXPOSE 3000