Merge branch 'feature/unlighthouse' into 'main'
Unlighthouse reporting See merge request Firq/fgosite!5
This commit is contained in:
commit
399ff91af4
3 changed files with 67 additions and 1 deletions
|
@ -2,6 +2,7 @@ stages:
|
||||||
- validate
|
- validate
|
||||||
- build
|
- build
|
||||||
- deploy
|
- deploy
|
||||||
|
- benchmark
|
||||||
- post_deploy
|
- post_deploy
|
||||||
- scripts
|
- scripts
|
||||||
|
|
||||||
|
@ -86,6 +87,45 @@ deploy-testing:
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "find staging -maxdepth 1 -printf '%p\n'; screen -S staging-firq-npx -dm npx serve staging/ -p 9100 -c serve.json"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "find staging -maxdepth 1 -printf '%p\n'; screen -S staging-firq-npx -dm npx serve staging/ -p 9100 -c serve.json"
|
||||||
- echo "Staging environment is up!"
|
- echo "Staging environment is up!"
|
||||||
|
|
||||||
|
unlighthouse:
|
||||||
|
image: registry.gitlab.com/gitlab-ci-utils/lighthouse:latest
|
||||||
|
stage: benchmark
|
||||||
|
when: manual
|
||||||
|
except:
|
||||||
|
- main
|
||||||
|
- tags
|
||||||
|
before_script:
|
||||||
|
- npm install @unlighthouse/cli puppeteer
|
||||||
|
- mkdir unlighthouse-reports
|
||||||
|
script:
|
||||||
|
- node_modules/.bin/unlighthouse-ci
|
||||||
|
- cp public/serve.json unlighthouse-reports
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- unlighthouse-reports
|
||||||
|
expire_in: 1 day
|
||||||
|
|
||||||
|
unlighthouse-publish:
|
||||||
|
stage: benchmark
|
||||||
|
when: on_success
|
||||||
|
needs:
|
||||||
|
- unlighthouse
|
||||||
|
except:
|
||||||
|
- tags
|
||||||
|
- main
|
||||||
|
before_script:
|
||||||
|
- *ssh_default
|
||||||
|
script:
|
||||||
|
- echo "Getting artifacts"
|
||||||
|
- ls unlighthouse-reports
|
||||||
|
- echo "Stopping screen session, cleaning"
|
||||||
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S unlighthouse-results kill; rm -r -f unlighthouse/*;"
|
||||||
|
- echo "Copying to proxmox machine"
|
||||||
|
- rsync -az --stats unlighthouse-reports/* $DEPLOY_USER@$DEPLOY_HOST:~/unlighthouse
|
||||||
|
- echo "Restarting screen session"
|
||||||
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "find unlighthouse -maxdepth 1 -printf '%p\n'; screen -S unlighthouse -dm npx serve unlighthouse/ -p 9101 -c serve.json"
|
||||||
|
- echo "Unlighthouse results are up!"
|
||||||
|
|
||||||
success_notification:
|
success_notification:
|
||||||
stage: post_deploy
|
stage: post_deploy
|
||||||
before_script:
|
before_script:
|
||||||
|
@ -159,6 +199,21 @@ redeploy-staging:
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S staging-firq-npx -dm npx serve staging/ -p 9100 -c serve.json"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S staging-firq-npx -dm npx serve staging/ -p 9100 -c serve.json"
|
||||||
- echo "Staging environment is up!"
|
- echo "Staging environment is up!"
|
||||||
|
|
||||||
|
redeploy-unlighthouse:
|
||||||
|
stage: scripts
|
||||||
|
when: manual
|
||||||
|
except:
|
||||||
|
- main
|
||||||
|
- tags
|
||||||
|
before_script:
|
||||||
|
- *ssh_default
|
||||||
|
script:
|
||||||
|
- echo "Stopping screen session"
|
||||||
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S unlighthouse-results kill" || true
|
||||||
|
- echo "Restarting screen session"
|
||||||
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S unlighthouse-results -dm npx serve unlighthouse/ -p 9101 -c serve.json"
|
||||||
|
- echo "Staging environment is up!"
|
||||||
|
|
||||||
maintenance-deploy:
|
maintenance-deploy:
|
||||||
stage: scripts
|
stage: scripts
|
||||||
when: manual
|
when: manual
|
||||||
|
|
|
@ -209,7 +209,6 @@ Funnily enough, this also taught me how to squash commits on main, as I had like
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git rebase -i origin/main~30 main
|
git rebase -i origin/main~30 main
|
||||||
# do the rebase here
|
|
||||||
git push origin +main
|
git push origin +main
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
12
unlighthouse.config.ts
Normal file
12
unlighthouse.config.ts
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
export default {
|
||||||
|
site: 'staging.firq.dev',
|
||||||
|
puppeteerOptions: {
|
||||||
|
args: ["--no-sandbox", "--disable-setuid-sandbox"],
|
||||||
|
},
|
||||||
|
ci: {
|
||||||
|
budget: 90,
|
||||||
|
buildStatic: true
|
||||||
|
},
|
||||||
|
auth: { username: "staging", password: "staging" },
|
||||||
|
outputPath: "unlighthouse-reports",
|
||||||
|
}
|
Loading…
Reference in a new issue