feat: add build static

This commit is contained in:
Lorenzo Migliorero 2024-08-01 11:10:28 +02:00
parent 6299385bb4
commit d84c808887
No known key found for this signature in database
GPG Key ID: 9A9F1AD60C05DFE2
3 changed files with 15 additions and 0 deletions

View File

@ -24,6 +24,7 @@ enum BuildType {
heroku_buildpacks = "heroku_buildpacks", heroku_buildpacks = "heroku_buildpacks",
paketo_buildpacks = "paketo_buildpacks", paketo_buildpacks = "paketo_buildpacks",
nixpacks = "nixpacks", nixpacks = "nixpacks",
static = "static",
} }
const mySchema = z.discriminatedUnion("buildType", [ const mySchema = z.discriminatedUnion("buildType", [
@ -46,6 +47,9 @@ const mySchema = z.discriminatedUnion("buildType", [
buildType: z.literal("nixpacks"), buildType: z.literal("nixpacks"),
publishDirectory: z.string().optional(), publishDirectory: z.string().optional(),
}), }),
z.object({
buildType: z.literal("static"),
}),
]); ]);
type AddTemplate = z.infer<typeof mySchema>; type AddTemplate = z.infer<typeof mySchema>;
@ -176,6 +180,12 @@ export const ShowBuildChooseForm = ({ applicationId }: Props) => {
Paketo Buildpacks Paketo Buildpacks
</FormLabel> </FormLabel>
</FormItem> </FormItem>
<FormItem className="flex items-center space-x-3 space-y-0">
<FormControl>
<RadioGroupItem value="static" />
</FormControl>
<FormLabel className="font-normal">Static</FormLabel>
</FormItem>
</RadioGroup> </RadioGroup>
</FormControl> </FormControl>
<FormMessage /> <FormMessage />

View File

@ -35,6 +35,7 @@ export const buildType = pgEnum("buildType", [
"heroku_buildpacks", "heroku_buildpacks",
"paketo_buildpacks", "paketo_buildpacks",
"nixpacks", "nixpacks",
"static",
]); ]);
// TODO: refactor this types // TODO: refactor this types
@ -316,6 +317,7 @@ const createSchema = createInsertSchema(applications, {
"heroku_buildpacks", "heroku_buildpacks",
"paketo_buildpacks", "paketo_buildpacks",
"nixpacks", "nixpacks",
"static",
]), ]),
publishDirectory: z.string().optional(), publishDirectory: z.string().optional(),
owner: z.string(), owner: z.string(),

View File

@ -15,6 +15,7 @@ import { buildCustomDocker } from "./docker-file";
import { buildHeroku } from "./heroku"; import { buildHeroku } from "./heroku";
import { buildNixpacks } from "./nixpacks"; import { buildNixpacks } from "./nixpacks";
import { buildPaketo } from "./paketo"; import { buildPaketo } from "./paketo";
import { buildStatic } from "./static";
// NIXPACKS codeDirectory = where is the path of the code directory // NIXPACKS codeDirectory = where is the path of the code directory
// HEROKU codeDirectory = where is the path of the code directory // HEROKU codeDirectory = where is the path of the code directory
@ -43,6 +44,8 @@ export const buildApplication = async (
await buildPaketo(application, writeStream); await buildPaketo(application, writeStream);
} else if (buildType === "dockerfile") { } else if (buildType === "dockerfile") {
await buildCustomDocker(application, writeStream); await buildCustomDocker(application, writeStream);
} else if (buildType === "static") {
await buildStatic(application, writeStream);
} }
if (application.registryId) { if (application.registryId) {