Skip to content

Commit 244f20b

Browse files
authored
v0.3.0
2 parents 856babb + e4c8d42 commit 244f20b

444 files changed

Lines changed: 28299 additions & 9809 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
Dockerfile
2+
.github
3+
.vscode
4+
*.md
5+
6+
#### gitignore below
17
# Nuxt dev/build outputs
28
.output
39
.data
@@ -8,6 +14,7 @@ dist
814

915
# Node dependencies
1016
node_modules
17+
.yarn
1118

1219
# Logs
1320
logs
@@ -24,3 +31,13 @@ logs
2431
!.env.example
2532

2633
.data
34+
35+
36+
# deploy template
37+
deploy-template/*
38+
39+
!deploy-template/compose.yml
40+
41+
# generated prisma client
42+
/prisma/client
43+
/prisma/validate

.env.example

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
DATABASE_URL="postgres://drop:drop@127.0.0.1:5432/drop"
22

3-
CLIENT_CERTIFICATES="./.data/ca"
4-
5-
FS_BACKEND_PATH="./.data/objects"
6-
73
GIANT_BOMB_API_KEY=""
84

5+
EXTERNAL_URL="http://localhost:3000"

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
/.yarn/releases/* binary
33
/.yarn/plugins/**/* binary
44
/.pnp.* binary linguist-generated
5+
* text=auto eol=lf

.github/workflows/ci.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
pull_request:
8+
branches:
9+
- develop
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
typecheck:
16+
name: Typecheck
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Check out the repo
20+
uses: actions/checkout@v4
21+
with:
22+
submodules: true
23+
24+
- name: Setup Node.js environment
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: lts/*
28+
cache: "yarn"
29+
30+
- name: Install dependencies
31+
run: yarn install --immutable --network-timeout 1000000
32+
33+
- name: Typecheck
34+
run: yarn typecheck
35+
36+
lint:
37+
name: Lint
38+
runs-on: ubuntu-latest
39+
steps:
40+
- name: Check out the repo
41+
uses: actions/checkout@v4
42+
with:
43+
submodules: true
44+
45+
- name: Setup Node.js environment
46+
uses: actions/setup-node@v4
47+
with:
48+
node-version: lts/*
49+
cache: "yarn"
50+
51+
- name: Install dependencies
52+
run: yarn install --immutable --network-timeout 1000000
53+
54+
- name: Lint
55+
run: yarn lint

.github/workflows/release.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Release Workflow
2+
3+
on:
4+
workflow_dispatch: {}
5+
release:
6+
types: [published]
7+
# This can be used to automatically publish nightlies at UTC nighttime
8+
schedule:
9+
- cron: "0 2 * * *" # run at 2 AM UTC
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
web:
16+
name: Push website Docker image to registry
17+
runs-on: ubuntu-latest
18+
permissions:
19+
packages: write
20+
contents: read
21+
steps:
22+
- name: Check out the repo
23+
uses: actions/checkout@v4
24+
with:
25+
submodules: true
26+
fetch-tags: true
27+
token: ${{ secrets.GITHUB_TOKEN }}
28+
29+
- name: Determine final version
30+
id: get_final_ver
31+
run: |
32+
BASE_VER=v$(jq -r '.version' package.json)
33+
TODAY=$(date +'%Y.%m.%d')
34+
35+
echo "Today will be: $TODAY"
36+
echo "today=$TODAY" >> $GITHUB_OUTPUT
37+
38+
if [[ "${{ github.event_name }}" == "release" ]]; then
39+
FINAL_VER="$BASE_VER"
40+
else
41+
FINAL_VER="${BASE_VER}-nightly.$TODAY"
42+
fi
43+
44+
echo "Drop's release tag will be: $FINAL_VER"
45+
echo "final_ver=$FINAL_VER" >> $GITHUB_OUTPUT
46+
47+
- name: Set up QEMU
48+
uses: docker/setup-qemu-action@v3
49+
50+
- name: Set up Docker Buildx
51+
id: buildx
52+
uses: docker/setup-buildx-action@v3
53+
with:
54+
buildkitd-flags: --debug
55+
56+
- name: Log in to the Container registry
57+
uses: docker/login-action@v3
58+
with:
59+
registry: ghcr.io
60+
username: ${{ github.actor }}
61+
password: ${{ secrets.GITHUB_TOKEN }}
62+
63+
- name: Extract metadata (tags, labels) for Docker
64+
id: meta
65+
uses: docker/metadata-action@v5
66+
with:
67+
images: |
68+
ghcr.io/drop-OSS/drop
69+
tags: |
70+
type=schedule,pattern=nightly
71+
type=schedule,pattern=nightly.${{ steps.get_final_ver.outputs.today }}
72+
type=semver,pattern=v{{version}}
73+
type=semver,pattern=v{{major}}.{{minor}}
74+
type=semver,pattern=v{{major}}
75+
type=ref,event=branch,prefix=branch-
76+
type=ref,event=pr
77+
type=sha
78+
# set latest tag for stable releases
79+
type=raw,value=latest,enable=${{ github.event_name == 'release' && github.event.release.prerelease == false }}
80+
81+
- name: Build and push image
82+
id: build-and-push
83+
uses: docker/build-push-action@v6
84+
with:
85+
context: .
86+
push: true
87+
provenance: mode=max
88+
sbom: true
89+
tags: ${{ steps.meta.outputs.tags }}
90+
labels: ${{ steps.meta.outputs.labels }}
91+
platforms: linux/amd64,linux/arm64
92+
cache-from: type=gha
93+
cache-to: type=gha,mode=max
94+
build-args: |
95+
BUILD_DROP_VERSION=${{ steps.get_final_ver.outputs.final_ver }}

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,8 @@ logs
3030
# deploy template
3131
deploy-template/*
3232

33-
!deploy-template/compose.yml
33+
!deploy-template/compose.yml
34+
35+
# generated prisma client
36+
/prisma/client
37+
/prisma/validate

.gitlab-ci.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,26 @@ build:
2929
docker image tag $IMAGE_NAME $PUBLISH_LATEST_IMAGE_NAME
3030
docker push $PUBLISH_IMAGE_NAME $PUBLISH_LATEST_IMAGE_NAME
3131
fi
32+
33+
build-arm64:
34+
stage: build
35+
image: arm64v8/docker:latest
36+
tags:
37+
- aarch64
38+
variables:
39+
IMAGE_NAME: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA-arm64
40+
LATEST_IMAGE_NAME: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest-arm64
41+
PUBLISH_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-arm64
42+
PUBLISH_LATEST_IMAGE_NAME: $CI_REGISTRY_IMAGE:latest-arm64
43+
script:
44+
- docker build -t $IMAGE_NAME . --platform=linux/arm64
45+
- docker image tag $IMAGE_NAME $LATEST_IMAGE_NAME
46+
- docker push $IMAGE_NAME
47+
- docker push $LATEST_IMAGE_NAME
48+
- |
49+
if [ $CI_COMMIT_TAG ]; then
50+
docker image tag $IMAGE_NAME $PUBLISH_IMAGE_NAME
51+
docker image tag $IMAGE_NAME $PUBLISH_LATEST_IMAGE_NAME
52+
docker push $PUBLISH_IMAGE_NAME
53+
docker push $PUBLISH_LATEST_IMAGE_NAME
54+
fi

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
drop-base/

.vscode/extensions.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"recommendations": [
3+
"lokalise.i18n-ally",
4+
"esbenp.prettier-vscode",
5+
"Prisma.prisma",
6+
"bradlc.vscode-tailwindcss",
7+
"Vue.volar",
8+
"arktypeio.arkdark",
9+
"EditorConfig.EditorConfig",
10+
"dbaeumer.vscode-eslint"
11+
]
12+
}

.vscode/settings.json

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,37 @@
11
{
2-
"spellchecker.ignoreWordsList": [
3-
"mTLS",
4-
"Wireguard"
5-
],
6-
"sqltools.connections": [
7-
{
8-
"previewLimit": 50,
9-
"server": "localhost",
10-
"port": 5432,
11-
"driver": "PostgreSQL",
12-
"name": "drop",
13-
"database": "drop",
14-
"username": "drop",
15-
"password": "drop"
16-
}
17-
]
2+
"spellchecker.ignoreWordsList": ["mTLS", "Wireguard"],
3+
"sqltools.connections": [
4+
{
5+
"previewLimit": 50,
6+
"server": "localhost",
7+
"port": 5432,
8+
"driver": "PostgreSQL",
9+
"name": "drop",
10+
"database": "drop",
11+
"username": "drop",
12+
"password": "drop"
13+
}
14+
],
15+
// allow autocomplete for ArkType expressions like "string | num"
16+
"editor.quickSuggestions": {
17+
"strings": "on"
18+
},
19+
// prioritize ArkType's "type" for autoimports
20+
"typescript.preferences.autoImportSpecifierExcludeRegexes": ["^(node:)?os$"],
21+
// i18n Ally settings
22+
"i18n-ally.sortKeys": true,
23+
"i18n-ally.keepFulfilled": true,
24+
"i18n-ally.extract.autoDetect": true,
25+
"i18n-ally.localesPaths": ["i18n", "i18n/locales"],
26+
"i18n-ally.keystyle": "nested",
27+
"i18n-ally.extract.ignored": [
28+
"string >= 14",
29+
"string.alphanumeric >= 5",
30+
"/api/v1/admin/import/version/preload?id=${encodeURIComponent(\n gameId,\n )}&version=${encodeURIComponent(version)}"
31+
],
32+
"i18n-ally.extract.ignoredByFiles": {
33+
"pages/admin/library/sources/index.vue": ["Filesystem"],
34+
"components/NewsArticleCreateButton.vue": ["[", "`", "Enter"],
35+
"server/api/v1/auth/signin/simple.post.ts": ["boolean | undefined"]
36+
}
1837
}

0 commit comments

Comments
 (0)