Implemented forgejo ci
This commit is contained in:
parent
73d0debc1e
commit
83661b9d38
6 changed files with 154 additions and 3 deletions
67
.forgejo/workflows/build_preview.yml
Normal file
67
.forgejo/workflows/build_preview.yml
Normal file
|
@ -0,0 +1,67 @@
|
|||
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: actions/forgejo-release@v1
|
||||
with:
|
||||
direction: upload
|
||||
url: https://forgejo.neshweb.net
|
||||
release-dir: release
|
||||
token: ${{ secrets.FORGEJO_TOKEN }}
|
||||
tag: ${{ github.ref_name }}
|
||||
|
||||
unlighthouse:
|
||||
needs: [publish]
|
||||
if: success()
|
||||
runs-on: docker
|
||||
services:
|
||||
website:
|
||||
image: forgejo.neshweb.net/firq/firq-dev-website:preview
|
||||
steps:
|
||||
- name: Install Dependencies
|
||||
run: npm install -g @unlighthouse/cli puppeteer
|
||||
- name: Run unlighthouse
|
||||
run: unlighthouse-ci --site website:8081
|
||||
- name: Upload reports
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: unlighthouse-reports
|
||||
path: unlighthouse-reports/
|
53
.forgejo/workflows/build_release.yml
Normal file
53
.forgejo/workflows/build_release.yml
Normal file
|
@ -0,0 +1,53 @@
|
|||
on:
|
||||
push:
|
||||
tags:
|
||||
- '[0-9]+\.[0-9]+\.[0-9]+'
|
||||
- '[0-9]+\.[0-9]+\.[0-9]+a[0-9]+'
|
||||
- '[0-9]+\.[0-9]+\.[0-9]+b[0-9]+'
|
||||
- '[0-9]+\.[0-9]+\.[0-9]+rc[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
|
||||
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: 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
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
|
17
Dockerfile
Normal file
17
Dockerfile
Normal file
|
@ -0,0 +1,17 @@
|
|||
FROM node:lts AS build
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
RUN npm i
|
||||
RUN npm run build
|
||||
|
||||
FROM node:lts AS runtime
|
||||
RUN npm install --global "@warren-bank/serve"
|
||||
|
||||
COPY --from=build /app/dist /public
|
||||
COPY --from=build /app/serve.json /public/serve.json
|
||||
RUN rm -r /public/assets/data/
|
||||
|
||||
ENV PORT 8081
|
||||
EXPOSE 8081
|
||||
|
||||
CMD [ "serve", "public/", "-p", "8081" ]
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "@firq/fgosite",
|
||||
"type": "module",
|
||||
"version": "0.1.6",
|
||||
"version": "0.1.7",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
export default {
|
||||
site: 'staging.firq.dev',
|
||||
puppeteerOptions: {
|
||||
args: ["--no-sandbox", "--disable-setuid-sandbox"],
|
||||
},
|
||||
|
@ -7,6 +6,5 @@ export default {
|
|||
budget: 90,
|
||||
buildStatic: true
|
||||
},
|
||||
auth: { username: "staging", password: "staging" },
|
||||
outputPath: "unlighthouse-reports",
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue