Compare commits
140 commits
Author | SHA1 | Date | |
---|---|---|---|
f5bb4bf78e | |||
5181739230 | |||
449006320c | |||
483b2cc84b | |||
9daf38e537 | |||
da8564f01a | |||
dd9d0a662f | |||
2a258ac60b | |||
0494694cc9 | |||
764c5750a6 | |||
b7db7dd512 | |||
fcd05dcb09 | |||
7ed78bceff | |||
e406bd8764 | |||
064eb975b9 | |||
d7eb7e9c49 | |||
3347d2eaf2 | |||
3dbdca627e | |||
f2ff4e47cf | |||
340f39710e | |||
4b3a8898f6 | |||
b03eba2bd5 | |||
336c0c0db5 | |||
11b12e55b8 | |||
bb0fe0bece | |||
b4702278d2 | |||
9a84cf7fc2 | |||
eeabc4e66f | |||
be896ca00c | |||
ed9af00592 | |||
141b1cffc6 | |||
e8e6733c9f | |||
0cac39ba78 | |||
76c723d516 | |||
a24a7af3d8 | |||
91f8c1834a | |||
719a9ff3de | |||
8e4b169404 | |||
af83dfa7d8 | |||
5d1da2d3d8 | |||
cb8b53ea63 | |||
71a6ea0051 | |||
2b2ca46214 | |||
df9337c684 | |||
7e614b89a8 | |||
76e0674098 | |||
1592815835 | |||
736abd6a51 | |||
5bfdb277fc | |||
eaab523a2a | |||
ce6c660a76 | |||
353995a3e0 | |||
79fd73c368 | |||
58a49fe3fa | |||
273cd7b9b8 | |||
639ee165ba | |||
4b878fb113 | |||
48bbeac054 | |||
6d2cc3b996 | |||
3c97d6687c | |||
ac7e9f089e | |||
dc59b930ee | |||
aec4660bec | |||
709f459963 | |||
2a07a4ac19 | |||
4d5bf51566 | |||
dc6366703b | |||
c7e03bd105 | |||
72f6c3818b | |||
3086120b66 | |||
c1691a22d7 | |||
e2328bde46 | |||
9243b0cd5a | |||
aba414e68d | |||
c97469662d | |||
22f4a5f0b8 | |||
16eac7e22c | |||
69643c74f2 | |||
b73bda3a78 | |||
1e672c1a10 | |||
8a7abf0414 | |||
affa1b5fc0 | |||
e5ca5eaeb1 | |||
316e7c336b | |||
dfd29ddc94 | |||
d509e40f2a | |||
5cbf9e7633 | |||
84912239a2 | |||
41273a8c94 | |||
9d4fab7c56 | |||
edce15b262 | |||
8462755842 | |||
adefc49065 | |||
139a768168 | |||
b3a820639a | |||
c9a286bffd | |||
39cfe4392c | |||
c50630745d | |||
f7d4e18989 | |||
90eb5ff3e1 | |||
8835d0047e | |||
0b18f24a4a | |||
89b6895395 | |||
cbd4d56078 | |||
83661b9d38 | |||
73d0debc1e | |||
c4670958fe | |||
437c746148 | |||
2c2f20f1c4 | |||
61e8f68458 | |||
d5448a9680 | |||
8ca2ec7e46 | |||
1728588e8b | |||
4ea64ca931 | |||
7839a52b10 | |||
cb14777a4f | |||
bbb6cc11c2 | |||
9ec6d4a83b | |||
2c9c2854be | |||
9f194cc052 | |||
d167acce5c | |||
f947437ffd | |||
60d08dbd81 | |||
531cb89fac | |||
50687de034 | |||
063c9eda09 | |||
8ae8efe2e8 | |||
26ea489fd9 | |||
399ff91af4 | |||
f05f1659b0 | |||
d008b759c1 | |||
b8dd3d41db | |||
e8bed584a5 | |||
38cc096e7e | |||
84b43872d1 | |||
5edeaf9833 | |||
13a48becd6 | |||
ee1d26a84d | |||
6f9d4c71bb | |||
9256f1717c |
70
.forgejo/workflows/build_preview.yml
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '[0-9]+\.[0-9]+\.[0-9]+pre[0-9]+'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
checking:
|
||||||
|
runs-on: docker
|
||||||
|
container: node:lts
|
||||||
|
steps:
|
||||||
|
- name: Checkout source code
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Install packages
|
||||||
|
run: npm install
|
||||||
|
- name: Run astro check (linting + static analysis)
|
||||||
|
run: npm run astro check
|
||||||
|
|
||||||
|
build-site:
|
||||||
|
needs: [checking]
|
||||||
|
if: success()
|
||||||
|
runs-on: dind
|
||||||
|
steps:
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: forgejo.neshweb.net
|
||||||
|
username: ${{ secrets.FORGEJO_USERNAME }}
|
||||||
|
password: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
|
- name: Push to Package Registry
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: forgejo.neshweb.net/firq/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:preview
|
||||||
|
|
||||||
|
publish:
|
||||||
|
needs: [build-site]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- name: Release New Version
|
||||||
|
uses: https://code.forgejo.org/actions/forgejo-release@v1
|
||||||
|
with:
|
||||||
|
direction: upload
|
||||||
|
url: https://forgejo.neshweb.net
|
||||||
|
release-dir: release
|
||||||
|
token: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
|
tag: ${{ github.ref_name }}
|
||||||
|
prerelease: true
|
||||||
|
|
||||||
|
# doesn't work atm
|
||||||
|
# unlighthouse:
|
||||||
|
# needs: [publish]
|
||||||
|
# if: success()
|
||||||
|
# runs-on: docker
|
||||||
|
# container: registry.gitlab.com/gitlab-ci-utils/lighthouse:latest
|
||||||
|
# services:
|
||||||
|
# website:
|
||||||
|
# image: forgejo.neshweb.net/firq/firq-dev-website:preview
|
||||||
|
# steps:
|
||||||
|
# - name: Install Dependencies
|
||||||
|
# run: npm install @unlighthouse/cli puppeteer
|
||||||
|
# - name: Run unlighthouse
|
||||||
|
# run: node_modules/.bin/unlighthouse-ci
|
||||||
|
# - name: Upload reports
|
||||||
|
# uses: actions/upload-artifact@v3
|
||||||
|
# with:
|
||||||
|
# name: unlighthouse-reports
|
||||||
|
# path: unlighthouse-reports/
|
49
.forgejo/workflows/build_release.yml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '[0-9]+\.[0-9]+\.[0-9]+'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
checking:
|
||||||
|
runs-on: docker
|
||||||
|
container: node:lts
|
||||||
|
steps:
|
||||||
|
- name: Checkout source code
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Install packages
|
||||||
|
run: npm install
|
||||||
|
- name: Run astro check (linting + static analysis)
|
||||||
|
run: npm run astro check
|
||||||
|
|
||||||
|
build-site:
|
||||||
|
needs: [checking]
|
||||||
|
if: success()
|
||||||
|
runs-on: dind
|
||||||
|
steps:
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: forgejo.neshweb.net
|
||||||
|
username: ${{ secrets.FORGEJO_USERNAME }}
|
||||||
|
password: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
|
- name: Push to Package Registry
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: forgejo.neshweb.net/firq/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:latest
|
||||||
|
|
||||||
|
release:
|
||||||
|
needs: [build-site]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- name: Release New Version
|
||||||
|
uses: https://code.forgejo.org/actions/forgejo-release@v1
|
||||||
|
with:
|
||||||
|
direction: upload
|
||||||
|
url: https://forgejo.neshweb.net
|
||||||
|
release-dir: release
|
||||||
|
token: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
|
tag: ${{ github.ref_name }}
|
16
.forgejo/workflows/linting.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- "**"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
checking:
|
||||||
|
runs-on: docker
|
||||||
|
container: node:lts
|
||||||
|
steps:
|
||||||
|
- name: Checkout source code
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Install packages
|
||||||
|
run: npm install
|
||||||
|
- name: Run astro check (linting + static analysis)
|
||||||
|
run: npm run astro check
|
98
.forgejo/workflows/unlighthouse.yml
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '[0-9]+\.[0-9]+\.[0-9]+unlighthouse[0-9]+'
|
||||||
|
- '[0-9]+\.[0-9]+\.[0-9]+ulh[0-9]+'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
unlighthouse:
|
||||||
|
runs-on: docker
|
||||||
|
container: forgejo.neshweb.net/ci-docker-images/unlighthouse:latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Run unlighthouse
|
||||||
|
run: unlighthouse-ci --site "https://preview.firq.dev/"
|
||||||
|
- name: Prepare artifacts
|
||||||
|
run: cp serve.json unlighthouse-reports
|
||||||
|
- name: Upload reports
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: unlighthouse-reports
|
||||||
|
path: unlighthouse-reports/
|
||||||
|
|
||||||
|
deploy-unlighthouse-files:
|
||||||
|
needs: [ unlighthouse ]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
env:
|
||||||
|
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
|
||||||
|
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
|
||||||
|
steps:
|
||||||
|
- name: Install and update ssh + rsync
|
||||||
|
run: |
|
||||||
|
which rsync || ( apt update -y && apt install rsync -y)
|
||||||
|
which ssh-agent || ( apt update -y && apt install openssh-client -y)
|
||||||
|
- name: Downloading static site artifacts
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: unlighthouse-reports
|
||||||
|
path: public
|
||||||
|
- name: Install SSH Key
|
||||||
|
uses: https://github.com/shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
known_hosts: unnecessary
|
||||||
|
- name: Adding Known Hosts
|
||||||
|
run: ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
|
||||||
|
- name: Stop screen session, delete old files
|
||||||
|
uses: https://github.com/appleboy/ssh-action@master
|
||||||
|
with:
|
||||||
|
host: ${{ env.DEPLOY_HOST }}
|
||||||
|
username: ${{ env.DEPLOY_USER }}
|
||||||
|
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
script: |
|
||||||
|
screen -X -S firq_dev-unlighthouse kill
|
||||||
|
rm -r -f firq_dev/unlighthouse/*
|
||||||
|
- name: Copy files using rsync
|
||||||
|
run: rsync -az --stats public/* ${{ env.DEPLOY_USER }}@${{ env.DEPLOY_HOST }}:~/firq_dev/unlighthouse
|
||||||
|
- name: Check files on deploy target
|
||||||
|
uses: https://github.com/appleboy/ssh-action@master
|
||||||
|
with:
|
||||||
|
host: ${{ env.DEPLOY_HOST }}
|
||||||
|
username: ${{ env.DEPLOY_USER }}
|
||||||
|
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
script: |
|
||||||
|
cd firq_dev
|
||||||
|
find unlighthouse -maxdepth 1 -printf "%p\n"
|
||||||
|
|
||||||
|
deploy-unlighthouse-site:
|
||||||
|
needs: [ deploy-unlighthouse-files ]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
env:
|
||||||
|
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
|
||||||
|
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
|
||||||
|
steps:
|
||||||
|
- name: Install and update ssh + rsync
|
||||||
|
run: |
|
||||||
|
which rsync || ( apt update -y && apt install rsync -y)
|
||||||
|
which ssh-agent || ( apt update -y && apt install openssh-client -y)
|
||||||
|
- name: Install SSH Key
|
||||||
|
uses: https://github.com/shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
known_hosts: unnecessary
|
||||||
|
- name: Adding Known Hosts
|
||||||
|
run: ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
|
||||||
|
- name: Start new screen session
|
||||||
|
uses: https://github.com/appleboy/ssh-action@master
|
||||||
|
with:
|
||||||
|
host: ${{ env.DEPLOY_HOST }}
|
||||||
|
username: ${{ env.DEPLOY_USER }}
|
||||||
|
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
script: |
|
||||||
|
PATH="$HOME/.local/bin:$PATH"
|
||||||
|
screen -ls | grep 'firq_dev-unlighthouse' | awk '{print $1}' | xargs -I % -t screen -X -S % quit
|
||||||
|
cd firq_dev
|
||||||
|
screen -S firq_dev-unlighthouse -dm serve unlighthouse/ -p ${{ secrets.UNLIGHTHOUSE_DEPLOY_PORT }}
|
|
@ -2,6 +2,7 @@ stages:
|
||||||
- validate
|
- validate
|
||||||
- build
|
- build
|
||||||
- deploy
|
- deploy
|
||||||
|
- benchmark
|
||||||
- post_deploy
|
- post_deploy
|
||||||
- scripts
|
- scripts
|
||||||
|
|
||||||
|
@ -60,11 +61,11 @@ deploy-site:
|
||||||
- echo "Getting artifacts"
|
- echo "Getting artifacts"
|
||||||
- ls public
|
- ls public
|
||||||
- echo "Stopping screen session, cleaning"
|
- echo "Stopping screen session, cleaning"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S website-firq-npx kill; rm -r -f public/*;"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-public kill; rm -r -f firq_dev/public/*;"
|
||||||
- echo "Copying to proxmox machine"
|
- echo "Copying to proxmox machine"
|
||||||
- rsync -az --stats public $DEPLOY_USER@$DEPLOY_HOST:~/.
|
- rsync -az --stats public/* $DEPLOY_USER@$DEPLOY_HOST:~/firq_dev/public
|
||||||
- echo "Restarting screen session"
|
- echo "Restarting screen session"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "find maintenance public -maxdepth 1 -printf '%p\n'; screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; cd firq_dev; find maintenance public -maxdepth 1 -printf "%p\n"; screen -S firq_dev-public -dm serve public/ -p 9000'
|
||||||
- echo "Website is up on https://firq.dev/"
|
- echo "Website is up on https://firq.dev/"
|
||||||
|
|
||||||
deploy-testing:
|
deploy-testing:
|
||||||
|
@ -79,13 +80,52 @@ deploy-testing:
|
||||||
- echo "Getting artifacts"
|
- echo "Getting artifacts"
|
||||||
- ls public
|
- ls public
|
||||||
- echo "Stopping screen session, cleaning"
|
- echo "Stopping screen session, cleaning"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S staging-firq-npx kill; rm -r -f staging/*;"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-staging kill; rm -r -f firq_dev/staging/*;"
|
||||||
- echo "Copying to proxmox machine"
|
- echo "Copying to proxmox machine"
|
||||||
- rsync -az --stats public/* $DEPLOY_USER@$DEPLOY_HOST:~/staging
|
- rsync -az --stats public/* $DEPLOY_USER@$DEPLOY_HOST:~/firq_dev/staging
|
||||||
- echo "Restarting screen session"
|
- echo "Restarting screen session"
|
||||||
- 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 'PATH="$HOME/.local/bin:$PATH"; cd firq_dev; find staging -maxdepth 1 -printf "%p\n"; screen -S firq_dev-staging -dm serve staging/ -p 9100'
|
||||||
- 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 firq_dev-unlighthouse kill; rm -r -f firq_dev/unlighthouse/*;"
|
||||||
|
- echo "Copying to proxmox machine"
|
||||||
|
- rsync -az --stats unlighthouse-reports/* $DEPLOY_USER@$DEPLOY_HOST:~/firq_dev/unlighthouse
|
||||||
|
- echo "Restarting screen session"
|
||||||
|
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; cd firq_dev; find unlighthouse -maxdepth 1 -printf "%p\n"; screen -S firq_dev-unlighthouse -dm serve unlighthouse/ -p 9101'
|
||||||
|
- echo "Unlighthouse results are up!"
|
||||||
|
|
||||||
success_notification:
|
success_notification:
|
||||||
stage: post_deploy
|
stage: post_deploy
|
||||||
before_script:
|
before_script:
|
||||||
|
@ -123,9 +163,9 @@ maintenance-mode:
|
||||||
- main
|
- main
|
||||||
script:
|
script:
|
||||||
- echo "Stopping screen session"
|
- echo "Stopping screen session"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S website-firq-npx kill;"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-public kill;" || true
|
||||||
- echo "Enabeling maintenance mode"
|
- echo "Enabeling maintenance mode"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S website-firq-npx -dm npx serve maintenance/ -p 9000 -c serve.json"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-maintenance -dm serve firq_dev/maintenance/ -p 9000'
|
||||||
- echo "Maintenance Website is up on https://firq.dev/"
|
- echo "Maintenance Website is up on https://firq.dev/"
|
||||||
|
|
||||||
redeploy-site:
|
redeploy-site:
|
||||||
|
@ -139,9 +179,9 @@ redeploy-site:
|
||||||
- *ssh_default
|
- *ssh_default
|
||||||
script:
|
script:
|
||||||
- echo "Stopping screen session"
|
- echo "Stopping screen session"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S website-firq-npx kill" || true
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-public kill" || true
|
||||||
- echo "Restarting screen session"
|
- echo "Restarting screen session"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-public -dm serve firq_dev/public/ -p 9000'
|
||||||
- echo "Website is up on https://firq.dev/"
|
- echo "Website is up on https://firq.dev/"
|
||||||
|
|
||||||
redeploy-staging:
|
redeploy-staging:
|
||||||
|
@ -154,9 +194,24 @@ redeploy-staging:
|
||||||
- *ssh_default
|
- *ssh_default
|
||||||
script:
|
script:
|
||||||
- echo "Stopping screen session"
|
- echo "Stopping screen session"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S staging-firq-npx kill" || true
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-staging kill" || true
|
||||||
- echo "Restarting screen session"
|
- echo "Restarting screen session"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S staging-firq-npx -dm npx serve staging/ -p 9100 -c serve.json"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-staging -dm serve firq_dev/staging/ -p 9100'
|
||||||
|
- 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 firq_dev-unlighthouse kill" || true
|
||||||
|
- echo "Restarting screen session"
|
||||||
|
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-unlighthouse -dm serve firq_dev/unlighthouse/ -p 9101'
|
||||||
- echo "Staging environment is up!"
|
- echo "Staging environment is up!"
|
||||||
|
|
||||||
maintenance-deploy:
|
maintenance-deploy:
|
||||||
|
@ -169,7 +224,7 @@ maintenance-deploy:
|
||||||
- *ssh_default
|
- *ssh_default
|
||||||
script:
|
script:
|
||||||
- echo "Stopping screen session"
|
- echo "Stopping screen session"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S website-firq-npx kill;" || true
|
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-public kill;" || true
|
||||||
- echo "Enabeling maintenance mode"
|
- echo "Enabeling maintenance mode"
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S website-firq-npx -dm npx serve maintenance/ -p 9000 -c serve.json"
|
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-maintenance -dm serve firq_dev/maintenance/ -p 9000'
|
||||||
- echo "Maintenance Website is up on https://firq.dev/"
|
- echo "Maintenance Website is up on https://firq.dev/"
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
image: node:lts
|
|
||||||
pages:
|
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- node_modules/
|
|
||||||
script:
|
|
||||||
- npm install
|
|
||||||
- npm run build
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
expire_in: 3 days
|
|
||||||
only:
|
|
||||||
- main
|
|
12
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"files.exclude": {
|
||||||
|
"**/.git": true,
|
||||||
|
"**/.svn": true,
|
||||||
|
"**/.hg": true,
|
||||||
|
"**/CVS": true,
|
||||||
|
"**/.DS_Store": true,
|
||||||
|
"**/Thumbs.db": true,
|
||||||
|
"**/__pycache__": true
|
||||||
|
},
|
||||||
|
"hide-files.files": []
|
||||||
|
}
|
16
Dockerfile
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
FROM node:lts AS build
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
RUN npm i
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM forgejo.neshweb.net/ci-docker-images/website-serve:latest AS runtime
|
||||||
|
|
||||||
|
COPY --from=build /app/dist /public
|
||||||
|
COPY --from=build /app/serve.json /public/serve.json
|
||||||
|
RUN rm -r /public/data/
|
||||||
|
|
||||||
|
ENV PORT 8081
|
||||||
|
EXPOSE 8081
|
||||||
|
|
||||||
|
CMD [ "serve", "public/", "-p", "8081" ]
|
|
@ -1,14 +1,14 @@
|
||||||
import { defineConfig } from 'astro/config';
|
import { defineConfig } from 'astro/config';
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
import sitemap from "@astrojs/sitemap";
|
import sitemap from "@astrojs/sitemap";
|
||||||
|
import mdx from "@astrojs/mdx";
|
||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
sitemap: true,
|
sitemap: true,
|
||||||
base: '/',
|
base: '/',
|
||||||
outDir: 'public',
|
outDir: 'dist',
|
||||||
publicDir: 'static',
|
publicDir: 'static',
|
||||||
site: 'https://firq.dev/',
|
site: 'https://firq.dev/',
|
||||||
integrations: [sitemap()]
|
integrations: [sitemap(), mdx()]
|
||||||
});
|
});
|
12086
package-lock.json
generated
20
package.json
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@firq/fgosite",
|
"name": "@firq/fgosite",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.1.3",
|
"version": "0.1.27",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
|
@ -11,8 +11,18 @@
|
||||||
"astro": "astro"
|
"astro": "astro"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/sitemap": "^1.2.1",
|
"@astro-community/astro-embed-youtube": "^0.4.3",
|
||||||
"astro": "^2.8.0",
|
"@astrojs/check": "^0.3.3",
|
||||||
"iconoir": "^6.1.0"
|
"@astrojs/mdx": "^2.0.3",
|
||||||
}
|
"@astrojs/sitemap": "^3.0.3",
|
||||||
|
"astro": "^4.2.1",
|
||||||
|
"autoprefixer": "^10.4.16",
|
||||||
|
"iconoir": "^7.2.0",
|
||||||
|
"postcss-preset-env": "^9.3.0",
|
||||||
|
"typescript": "^5.3.3"
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"last 2 versions",
|
||||||
|
">0.5% and not dead"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
13
postcss.config.cjs
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
module.exports = {
|
||||||
|
plugins: {
|
||||||
|
"postcss-preset-env": {
|
||||||
|
autoprefixer: { flexbox: "no-2009" },
|
||||||
|
stage: 2,
|
||||||
|
features: {
|
||||||
|
"custom-properties": false,
|
||||||
|
"custom-media-queries": true,
|
||||||
|
"nesting-rules": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
30
serve.json
|
@ -1,14 +1,28 @@
|
||||||
{
|
{
|
||||||
"directoryListing": ["/!assets/**"],
|
"cleanUrls": true,
|
||||||
|
"directoryListing": false,
|
||||||
|
"etag": true,
|
||||||
"headers": [
|
"headers": [
|
||||||
{
|
{
|
||||||
"source": "**/*.@(jpg|jpeg|gif|png|webp)",
|
"source" : "**/*.html",
|
||||||
"headers": [
|
"headers" : [{
|
||||||
{
|
"key" : "Cache-Control",
|
||||||
"key": "Cache-Control",
|
"value" : "no-cache"
|
||||||
"value": "no-cache"
|
}]
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
|
"source" : "**/*.css",
|
||||||
|
"headers" : [{
|
||||||
|
"key" : "Cache-Control",
|
||||||
|
"value" : "max-age=31536000"
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source" : "**/*.@(jpg|jpeg|gif|png|webp|svg)",
|
||||||
|
"headers" : [{
|
||||||
|
"key" : "Cache-Control",
|
||||||
|
"value" : "max-age=31536000"
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Before ![]() (image error) Size: 81 KiB After ![]() (image error) Size: 81 KiB ![]() ![]() |
BIN
src/assets/ce/2030.png
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
src/assets/ce/500.png
Normal file
After ![]() (image error) Size: 34 KiB |
BIN
src/assets/ce/black_grail.png
Normal file
After ![]() (image error) Size: 33 KiB |
BIN
src/assets/ce/bond-ce/bride.png
Normal file
After ![]() (image error) Size: 18 KiB |
BIN
src/assets/ce/bond-ce/castoria.png
Normal file
After ![]() (image error) Size: 16 KiB |
BIN
src/assets/ce/bond-ce/chiron.png
Normal file
After ![]() (image error) Size: 22 KiB |
BIN
src/assets/ce/bond-ce/crane.png
Normal file
After ![]() (image error) Size: 19 KiB |
BIN
src/assets/ce/bond-ce/douman.png
Normal file
After ![]() (image error) Size: 24 KiB |
BIN
src/assets/ce/bond-ce/gogh.png
Normal file
After ![]() (image error) Size: 23 KiB |
BIN
src/assets/ce/bond-ce/himiko.png
Normal file
After ![]() (image error) Size: 14 KiB |
BIN
src/assets/ce/bond-ce/ibaraki.png
Normal file
After ![]() (image error) Size: 20 KiB |
BIN
src/assets/ce/bond-ce/jane.png
Normal file
After ![]() (image error) Size: 22 KiB |
BIN
src/assets/ce/bond-ce/koyanlight.png
Normal file
After ![]() (image error) Size: 21 KiB |
BIN
src/assets/ce/bond-ce/liz.png
Normal file
After ![]() (image error) Size: 23 KiB |
BIN
src/assets/ce/bond-ce/merlin.png
Normal file
After ![]() (image error) Size: 20 KiB |
BIN
src/assets/ce/bond-ce/oberon.png
Normal file
After ![]() (image error) Size: 18 KiB |
BIN
src/assets/ce/bond-ce/reines.png
Normal file
After ![]() (image error) Size: 20 KiB |
BIN
src/assets/ce/bond-ce/santagale.png
Normal file
After ![]() (image error) Size: 20 KiB |
BIN
src/assets/ce/bond-ce/scathach.png
Normal file
After ![]() (image error) Size: 18 KiB |
BIN
src/assets/ce/bond-ce/sherlock.png
Normal file
After ![]() (image error) Size: 21 KiB |
BIN
src/assets/ce/bond-ce/skadi.png
Normal file
After ![]() (image error) Size: 21 KiB |
BIN
src/assets/ce/bond-ce/taigong.png
Normal file
After ![]() (image error) Size: 20 KiB |
BIN
src/assets/ce/bond-ce/tamamo.png
Normal file
After ![]() (image error) Size: 23 KiB |
BIN
src/assets/ce/bond-ce/waver.png
Normal file
After ![]() (image error) Size: 17 KiB |
BIN
src/assets/ce/bond-ce/wu.png
Normal file
After ![]() (image error) Size: 23 KiB |
BIN
src/assets/ce/devilish_bodhisattva.png
Normal file
After ![]() (image error) Size: 32 KiB |
BIN
src/assets/ce/kaleidoscope.png
Normal file
After ![]() (image error) Size: 35 KiB |
BIN
src/assets/ce/maidens_teachings.png
Normal file
After ![]() (image error) Size: 32 KiB |
BIN
src/assets/ce/merciless_one.png
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
src/assets/ce/mlb.png
Normal file
After ![]() (image error) Size: 7.7 KiB |
Before ![]() (image error) Size: 10 KiB After ![]() (image error) Size: 10 KiB ![]() ![]() |
BIN
src/assets/ce/outrage.png
Normal file
After ![]() (image error) Size: 36 KiB |
BIN
src/assets/ce/ox-demon.png
Normal file
After ![]() (image error) Size: 41 KiB |
BIN
src/assets/ce/prisma_cosmos.png
Normal file
After ![]() (image error) Size: 36 KiB |
BIN
src/assets/ce/vessel.png
Normal file
After ![]() (image error) Size: 36 KiB |
Before ![]() (image error) Size: 7 KiB After ![]() (image error) Size: 7 KiB ![]() ![]() |
BIN
src/assets/favourites/scathach.png
Normal file
After ![]() (image error) Size: 554 KiB |
BIN
src/assets/favourites/skadi.png
Normal file
After ![]() (image error) Size: 565 KiB |
Before ![]() (image error) Size: 9 KiB After ![]() (image error) Size: 9 KiB ![]() ![]() |
Before (image error) Size: 3.2 KiB After (image error) Size: 3.2 KiB |
Before ![]() (image error) Size: 16 KiB After ![]() (image error) Size: 16 KiB ![]() ![]() |
BIN
src/assets/okita.png
Normal file
After ![]() (image error) Size: 20 KiB |
Before (image error) Size: 3.2 KiB After (image error) Size: 3.2 KiB |
Before ![]() (image error) Size: 152 KiB After ![]() (image error) Size: 152 KiB ![]() ![]() |
BIN
src/assets/servant/bride_03.png
Normal file
After ![]() (image error) Size: 97 KiB |
BIN
src/assets/servant/castoria_01.png
Normal file
After ![]() (image error) Size: 63 KiB |
BIN
src/assets/servant/castoria_02.png
Normal file
After ![]() (image error) Size: 70 KiB |
BIN
src/assets/servant/chiron_01.png
Normal file
After ![]() (image error) Size: 58 KiB |
BIN
src/assets/servant/crane_01.png
Normal file
After ![]() (image error) Size: 52 KiB |
BIN
src/assets/servant/douman_01.png
Normal file
After ![]() (image error) Size: 76 KiB |
BIN
src/assets/servant/gogh_01.png
Normal file
After ![]() (image error) Size: 75 KiB |
BIN
src/assets/servant/himiko_03.png
Normal file
After ![]() (image error) Size: 93 KiB |
BIN
src/assets/servant/ibaraki_02.png
Normal file
After ![]() (image error) Size: 72 KiB |
BIN
src/assets/servant/jane_02.png
Normal file
After ![]() (image error) Size: 73 KiB |
BIN
src/assets/servant/koyanlight_01.png
Normal file
After ![]() (image error) Size: 84 KiB |
BIN
src/assets/servant/liz_01.png
Normal file
After ![]() (image error) Size: 88 KiB |
BIN
src/assets/servant/merlin_01.png
Normal file
After ![]() (image error) Size: 56 KiB |
BIN
src/assets/servant/merlin_03.png
Normal file
After ![]() (image error) Size: 75 KiB |
BIN
src/assets/servant/oberon_02.png
Normal file
After ![]() (image error) Size: 69 KiB |
BIN
src/assets/servant/reines_01.png
Normal file
After ![]() (image error) Size: 52 KiB |
BIN
src/assets/servant/santagale_01.png
Normal file
After ![]() (image error) Size: 88 KiB |
BIN
src/assets/servant/scathach_03.png
Normal file
After ![]() (image error) Size: 69 KiB |
BIN
src/assets/servant/sherlock_03.png
Normal file
After ![]() (image error) Size: 44 KiB |
BIN
src/assets/servant/skadi_01.png
Normal file
After ![]() (image error) Size: 66 KiB |
BIN
src/assets/servant/skadi_02.png
Normal file
After ![]() (image error) Size: 66 KiB |
BIN
src/assets/servant/skadi_03.png
Normal file
After ![]() (image error) Size: 77 KiB |
BIN
src/assets/servant/taigong_03.png
Normal file
After ![]() (image error) Size: 68 KiB |
BIN
src/assets/servant/tamamo_03.png
Normal file
After ![]() (image error) Size: 101 KiB |
BIN
src/assets/servant/waver_02.png
Normal file
After ![]() (image error) Size: 48 KiB |
BIN
src/assets/servant/wu_01.png
Normal file
After ![]() (image error) Size: 67 KiB |
Before ![]() (image error) Size: 52 KiB After ![]() (image error) Size: 52 KiB ![]() ![]() |
Before ![]() (image error) Size: 21 KiB After ![]() (image error) Size: 21 KiB ![]() ![]() |
Before ![]() (image error) Size: 12 KiB After ![]() (image error) Size: 12 KiB ![]() ![]() |
Before ![]() (image error) Size: 16 KiB After ![]() (image error) Size: 16 KiB ![]() ![]() |
Before ![]() (image error) Size: 6.9 KiB After ![]() (image error) Size: 6.9 KiB ![]() ![]() |
Before ![]() (image error) Size: 9.2 KiB After ![]() (image error) Size: 9.2 KiB ![]() ![]() |
Before ![]() (image error) Size: 11 KiB After ![]() (image error) Size: 11 KiB ![]() ![]() |
BIN
src/assets/ta_icons/___albion.webp
Normal file
After ![]() (image error) Size: 23 KiB |
BIN
src/assets/ta_icons/__albion.webp
Normal file
After ![]() (image error) Size: 17 KiB |
BIN
src/assets/ta_icons/abyssalworm.webp
Normal file
After ![]() (image error) Size: 1.2 KiB |
BIN
src/assets/ta_icons/albion.webp
Normal file
After ![]() (image error) Size: 12 KiB |
Before ![]() (image error) Size: 4.1 KiB After ![]() (image error) Size: 4.1 KiB ![]() ![]() |
Before ![]() (image error) Size: 4.4 KiB After ![]() (image error) Size: 4.4 KiB ![]() ![]() |
BIN
src/assets/ta_icons/beast_4_l.png
Normal file
After ![]() (image error) Size: 28 KiB |
Before ![]() (image error) Size: 4.2 KiB After ![]() (image error) Size: 4.2 KiB ![]() ![]() |
Before ![]() (image error) Size: 8.8 KiB After ![]() (image error) Size: 8.8 KiB ![]() ![]() |