From d752df1c15674571259bbfb39fcaebe44d4bf7bd Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 24 Dec 2023 10:06:59 +0000 Subject: [PATCH] prepush hooks and also made a mongodump on current local database for tests to have data and also made a mongodump on current local database for tests to have data --- .../mongo-dump/admin/system.version.bson | Bin 0 -> 59 bytes .../admin/system.version.metadata.json | 1 + .../mongo-dump/mongo-dump/tibi/project.bson | Bin 0 -> 194 bytes .../mongo-dump/tibi/project.metadata.json | 1 + .../mongo-dump/mongo-dump/tibi/user.bson | Bin 0 -> 168 bytes .../mongo-dump/tibi/user.metadata.json | 1 + .../tibi_allkids_erfurt/backups.bson | 0 .../tibi_allkids_erfurt/backups.metadata.json | 1 + .../tibi_allkids_erfurt/banner.bson | Bin 0 -> 197 bytes .../tibi_allkids_erfurt/banner.metadata.json | 1 + .../tibi_allkids_erfurt/content.bson | Bin 0 -> 21539 bytes .../tibi_allkids_erfurt/content.metadata.json | 1 + .../mongo-dump/tibi_allkids_erfurt/forms.bson | Bin 0 -> 13867 bytes .../tibi_allkids_erfurt/forms.metadata.json | 1 + .../tibi_allkids_erfurt/navigation.bson | Bin 0 -> 766 bytes .../navigation.metadata.json | 1 + .../mongo-dump/tibi_allkids_erfurt/ssr.bson | Bin 0 -> 67677 bytes .../tibi_allkids_erfurt/ssr.metadata.json | 1 + .../tibi_allkids_erfurt/temperature.bson | 0 .../temperature.metadata.json | 1 + .gitea/workflows/deploy.yaml | 179 ++++++++++++++++-- 21 files changed, 169 insertions(+), 20 deletions(-) create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/admin/system.version.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/admin/system.version.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi/project.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi/project.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi/user.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi/user.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/backups.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/backups.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/banner.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/banner.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/content.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/content.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/forms.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/forms.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/navigation.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/navigation.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/ssr.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/ssr.metadata.json create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/temperature.bson create mode 100644 .gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/temperature.metadata.json diff --git a/.gitea/actions/init-db/mongo-dump/mongo-dump/admin/system.version.bson b/.gitea/actions/init-db/mongo-dump/mongo-dump/admin/system.version.bson new file mode 100644 index 0000000000000000000000000000000000000000..1d05d10a434311a3bf5c5e28a9422497d6e5e749 GIT binary patch literal 59 zcmcC!U|?X1&rD&E0W#836H7{qQl0a23ld8*lQMHMODe-si;6Sz^B9=QpbQqELK8hB G1_l7`1`tvJ literal 0 HcmV?d00001 diff --git a/.gitea/actions/init-db/mongo-dump/mongo-dump/admin/system.version.metadata.json b/.gitea/actions/init-db/mongo-dump/mongo-dump/admin/system.version.metadata.json new file mode 100644 index 0000000..6f50fa6 --- /dev/null +++ b/.gitea/actions/init-db/mongo-dump/mongo-dump/admin/system.version.metadata.json @@ -0,0 +1 @@ +{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"admin.system.version"}],"uuid":"c25383adb2a64a8ca31b3bc5cbcb6690"} \ No newline at end of file diff --git a/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi/project.bson b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi/project.bson new file mode 100644 index 0000000000000000000000000000000000000000..6b97591892f37d5ece353bdb9a23a128e43f88c9 GIT binary patch literal 194 zcmX@az`(#BpP9mt$}T-`%k|R?jJMkka%ScgrxuljWag$aggiOCxQmg2fwQzAC9xzG zEOxGuFRuqE#*~)`RKWo>!Z9buJ2R!2fhi@mIJqdZpd>Rt4=jYqez=TjD@=?50KQs3 ArvLx| literal 0 HcmV?d00001 diff --git a/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/banner.metadata.json b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/banner.metadata.json new file mode 100644 index 0000000..3ca715a --- /dev/null +++ b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/banner.metadata.json @@ -0,0 +1 @@ +{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.banner"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.banner"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.banner"}],"uuid":"7346de51448b4a27b289a0e32336d0b6"} \ No newline at end of file diff --git a/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/content.bson b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/content.bson new file mode 100644 index 0000000000000000000000000000000000000000..e9516a019d3ac713b79cabfbca392df51803ef54 GIT binary patch literal 21539 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 G#(x9yGDfy{$SRPqIV?jKb7UP?ZI}> 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 literal 0 HcmV?d00001 diff --git a/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/ssr.metadata.json b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/ssr.metadata.json new file mode 100644 index 0000000..420de04 --- /dev/null +++ b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/ssr.metadata.json @@ -0,0 +1 @@ +{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"unique":true,"key":{"path":{"$numberInt":"1"}},"name":"path_1","ns":"tibi_allkids_erfurt.ssr"}],"uuid":"75869e19f8164beabe53366265b10208"} \ No newline at end of file diff --git a/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/temperature.bson b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/temperature.bson new file mode 100644 index 0000000..e69de29 diff --git a/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/temperature.metadata.json b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/temperature.metadata.json new file mode 100644 index 0000000..308a315 --- /dev/null +++ b/.gitea/actions/init-db/mongo-dump/mongo-dump/tibi_allkids_erfurt/temperature.metadata.json @@ -0,0 +1 @@ +{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.temperature"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.temperature"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.temperature"}],"uuid":"eb60c1bc334c4fa2a473fdb6c99b3e6a"} \ No newline at end of file diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index dcde9ec..a330c5f 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -5,18 +5,22 @@ jobs: lighthouse-evaluation: runs-on: ubuntu-latest container: - image: ubuntu-latest + image: gitbase.de/actions/ubuntu:latest + volumes: + - /data:/data services: mongo: image: mongo:4.2 ports: - 27017:27017 + options: --name mongo maildev: image: gitbase.de/robin/maildev:latest ports: - 80:80 - 25:25 + options: --name maildev tibi-server: image: gitbase.de/cms/tibi-server @@ -29,34 +33,169 @@ jobs: SECURITY_ALLOWABSOLUTEPATHS: "true" SECURITY_ALLOWUPPERPATHS: "true" SECURITY_ALLOWRELATIVEPATHS: "true" + options: --name tibi-server + volumes: + - ${{ github.workspace }}:/repo live-server: - image: gitbase.de/robin/live-server:latest + image: gitbase.de/robin/apache-image:latest ports: - - 8081:8081 + - 8081:80 + volumes: + - ${{ github.workspace }}/frontend:/usr/local/apache2/htdocs/ + options: --name live-server + steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Set up Node.js - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 with: - node-version: "20" + fetch-depth: 0 - - name: Load .env file - run: | - set -a - source .env - set +a + - name: setup node 18 + uses: actions/setup-node@v3 - name: Initialize database - run: node /.gitea/actions/init-db + uses: ./.github/actions/init-db + with: + TIBI_API_NAMESPACE: allkids_erfurt + TIBI_API_CONFIG_PATH: /repo/api/config.yml + PROJECT_NAME: AllKids + + - name: SERVICE RESTART + uses: docker://docker + with: + args: docker restart live-server tibi-server mongo maildev + + - name: Cache node modules + uses: actions/cache@v3 + with: + path: | + .yarn/cache + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + - name: setup yarn + run: | + corepack enable + corepack prepare yarn@3.2.4 --activate + yarn install + + - name: modify config + run: | + sed -i 's#\(sentryEnvironment.*\)".*"#\1"${GITHUB_REF_NAME}"#g' frontend/src/config.ts + sed -i 's#//\( sentry\\.init.*\)#\1#g' frontend/src/config.ts + export $(cat .env | xargs) + echo "PROJECT_RELEASE=${RELEASE_PROJECT_SLUG}.r`git rev-list HEAD --count`-`git describe --all --long | sed 's+/+-+'`" >> .env + export $(cat .env | xargs) + echo ______ .env ______ + cat .env + echo + sed -i 's#\(const release = \).*#\1"'${PROJECT_RELEASE}'"#g' api/hooks/config-client.js + + # bash scripts/preload-meta.sh frontend/spa.html + # bash scripts/preload-meta.sh frontend/spa.html > frontend/_spa.html + # cp frontend/_spa.html frontend/spa.html + + export stamp=`date +%s` + sed -i s/__TIMESTAMP__/$stamp/g frontend/spa.html + # sed -i s/__TIMESTAMP__/$stamp/g frontend/serviceworker.js + # cat frontend/serviceworker.js + # rm api/templates/spa.html + # cp frontend/spa.html api/templates/spa.html + echo ______ frontend/spa.html ______ + cat frontend/spa.html + + - name: build env: - PROJECT_API_NAMESPACE: $TIBI_NAMESPACE - MONGODB_URI: mongodb://mongo #service name! - TIBI_DB_PREFIX: $TIBI_PREFIX - TIBI_API_URL: http://tibi-server:8080/api/v1 - + FORCE_COLOR: "true" + run: | + yarn build + + - name: build ssr + env: + FORCE_COLOR: "true" + run: | + yarn build:server + + #- name: Load .env file + # run: | + # set -a + # source .env + # set + a + + - name: SERVICE RESTART + uses: docker://docker + with: + args: docker restart live-server tibi-server + + - name: wait for boot + run: | + sleep 15 + + - name: Inspect Service Containers + run: | + for container_id in $(docker ps --format '{{.ID}}'); do + echo "::group:: Container logs:" + docker logs $container_id || true + echo "::endgroup::" + done + #- name: Wait for Live Server + # run: | + # attempts=0 + # max_attempts=5 + # same port since its inside the same network, so not 8081.... + # while ! curl --fail "http://live-server:80"; do + # if [ $attempts -eq $max_attempts ]; then + # echo "Live server not ready after $max_attempts attempts" + # echo "${{ toJson(job) }}" + # curl -v "http://live-server:80" || true + # echo "::group::liveserver logs" + # docker logs live-server + # echo "::endgroup::" + # echo "::group:: tibi-server logs" + # docker logs tibi-server + # echo "::endgroup::" + # echo "::group:: tibi-server curl" + # docker exec live-server cat /var/log/apache2/access.log || true + # docker exec live-server bash -c "apt-get update && apt-get install -y curl" + # docker exec live-server echo $PATH + # docker exec live-server bash -c 'curl -v "http://tibi-server:8080/api/v1/_/allkids_erfurt/ssr?token=owshwerNwoa&url=/noindex"' + # echo "::endgroup::" + # exit 1 + # fi + # attempts=$((attempts+1)) + # echo "Waiting for live-server to be ready... attempt $attempts" + # sleep 5 + # done + + - name: Test HTTP Request + run: | + curl -v http://live-server:80 + + - name: Install Chrome + run: | + wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - + sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' + + sudo apt-get update + sudo apt-get install -y google-chrome-stable + + # Lighthouse Analysis Step + - name: Lighthouse Analysis + run: | + yarn add lighthouse + npx lighthouse http://live-server:80 --output json --output-path /tmp/lighthouse-report.json --chrome-flags="--headless --no-sandbox --disable-dev-shm-usage" + + # Notify-Lighthouse Step + - name: Notify Lighthouse + run: | + docker run --rm \ + -e PLUGIN_FROM=noreply@gitbase.de \ + -e PLUGIN_HOST=smtp.basehosts.de \ + -e PLUGIN_RECIPIENT=binkrassdufass@gmail.com \ + -e PLUGIN_SUBJECT="Lighthouse Report" \ + -v ${{ github.workspace }}/tmp:/lighthouse-reports \ + drillster/drone-email /tmp/lighthouse-report.json deploy: name: deploy