diff --git a/.drone.jsonnet b/.drone.jsonnet new file mode 100644 index 0000000..8b33506 --- /dev/null +++ b/.drone.jsonnet @@ -0,0 +1,93 @@ +local bun_image = "oven/bun:1"; + + +local fetch_step = { + name: "fetch", + image: "alpine/git", + commands: ["git fetch --tags"], +}; + +local install_step = { + name: "install", + image: bun_image, + commands: ["bun install --frozen-lockfile"], +}; + +local lint_step = { + name: "lint", + image: bun_image, + commands: ["bun lint:tsc"], +}; + +local generate_docker_tags_step = { + name: "generate-docker-tags", + image: "git.jvalver.de/thilawyn/drone-better-docker-autotag", +}; + + +[ + // Lint the whole project when not in master, not in a PR nor on a tag + { + kind: "pipeline", + type: "docker", + name: "lint", + + trigger: { + ref: { + exclude: [ + "refs/heads/master", + "refs/pull/**", + "refs/tags/**", + ] + } + }, + + steps: [ + install_step, + lint_step, + ], + }, + + // Build the server and legacy API docker images without publishing them for pull requests + // { + // kind: "pipeline", + // type: "docker", + // name: "build-docker", + + // trigger: { + // ref: { + // include: ["refs/pull/**"] + // } + // }, + + // steps: [ + // fetch_step, + // generate_docker_tags_step, + // build_website_docker_step(false), + // build_legacy_api_docker_step(false), + // ], + // }, + + // Build the server and legacy API docker images and publish them for master and tags + // { + // kind: "pipeline", + // type: "docker", + // name: "build-publish-docker", + + // trigger: { + // ref: { + // include: [ + // "refs/heads/master", + // "refs/tags/**", + // ] + // } + // }, + + // steps: [ + // fetch_step, + // generate_docker_tags_step, + // build_website_docker_step(true), + // build_legacy_api_docker_step(true), + // ], + // }, +] diff --git a/bun.lockb b/bun.lockb index 2d025d2..ada479e 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 83ceb2a..54a9941 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "build": "rollup -c", "lint:tsc": "tsc --noEmit", "clean:cache": "rm -f tsconfig.tsbuildinfo", - "clean:dist": "rm -rf dist" + "clean:dist": "rm -rf dist", + "clean:node": "rm -rf node_modules" }, "dependencies": { "type-fest": "^4.8.3"