From e73addcd354fedb8d6d1a10ad57dfa08f0282543 Mon Sep 17 00:00:00 2001 From: Aramayis <> Date: Tue, 22 Nov 2022 22:25:37 +0400 Subject: [PATCH] feat: front-end files bulding --- .github/workflows/uffizzi-build.yml | 10 +++++----- uffizzi/Dockerfile | 19 ++++++++++++++++++- uffizzi/nginx/Dockerfile | 6 ++++-- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/.github/workflows/uffizzi-build.yml b/.github/workflows/uffizzi-build.yml index dfe4179da5..2c8ada3b36 100644 --- a/.github/workflows/uffizzi-build.yml +++ b/.github/workflows/uffizzi-build.yml @@ -13,9 +13,7 @@ jobs: tags: ${{ steps.meta.outputs.tags }} steps: - name: Checkout git repo - uses: actions/checkout@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: actions/checkout@v3 - name: Generate UUID image name id: uuid run: echo "UUID_TAG_APP=$(uuidgen)" >> $GITHUB_ENV @@ -33,11 +31,11 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} file: ./uffizzi/Dockerfile - cache-from: type=gha - cache-to: type=gha,mode=max build-nginx: + needs: + - build-application name: Build and Push `nginx` runs-on: ubuntu-latest if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }} @@ -65,6 +63,8 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} file: ./uffizzi/nginx/Dockerfile + build-args: | + BASE_IMAGE=${{ needs.build-application.outputs.tags }} cache-from: type=gha cache-to: type=gha,mode=max diff --git a/uffizzi/Dockerfile b/uffizzi/Dockerfile index 09b2caf3af..2e67c6e454 100644 --- a/uffizzi/Dockerfile +++ b/uffizzi/Dockerfile @@ -11,7 +11,8 @@ RUN apt-get update && apt-get install -y \ unzip \ libzip-dev \ libmagickwand-dev \ - mariadb-client + mariadb-client \ + npm # Clear cache RUN apt-get clean && rm -rf /var/lib/apt/lists/* @@ -45,4 +46,20 @@ RUN chmod -R 775 composer.json composer.lock \ RUN chown -R $(whoami):$(whoami) /var/log/ RUN chmod -R 775 /var/log +# Cleanup manually generated build files +RUN rm -rf /var/www/public/build +RUN npm config set user 0 +RUN npm config set unsafe-perm true +# Frontend bulding +RUN sed -i 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/g' /var/www/.env +RUN sed -i 's/DB_DATABASE=crater/DB_DATABASE=\/tmp\/crater.sqlite/g' /var/www/.env +RUN cat /var/www/.env +RUN touch /tmp/crater.sqlite +RUN composer install --no-interaction --prefer-dist +RUN npm i -f +RUN npm install --save-dev sass +RUN export NODE_OPTIONS="--max-old-space-size=4096" && /usr/bin/npx vite build --target=es2020 +RUN sed -i 's/DB_CONNECTION=sqlite/DB_CONNECTION=mysql/g' /var/www/.env +RUN sed -i 's/DB_DATABASE=\/tmp\/crater.sqlite/DB_DATABASE=crater/g' /var/www/.env + USER crater-user diff --git a/uffizzi/nginx/Dockerfile b/uffizzi/nginx/Dockerfile index 620de570f5..43b01e7cb2 100644 --- a/uffizzi/nginx/Dockerfile +++ b/uffizzi/nginx/Dockerfile @@ -1,7 +1,9 @@ +ARG BASE_IMAGE + +FROM $BASE_IMAGE as build FROM nginx:1.17-alpine RUN rm /etc/nginx/conf.d/default.conf -COPY ./ /var/www +COPY --from=build /var/www /var/www COPY ./uffizzi/nginx/nginx /etc/nginx/conf.d/ -