mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
feat(website): Add JSON endpoint for publishing versions of released components (#6663)
Adds an endpoint at `/api/releases` to return the current version of published components. Fixes #6658
This commit is contained in:
@@ -41,33 +41,33 @@ endif
|
||||
.PHONY: apple-version android-version gateway-version gui-version headless-version version
|
||||
|
||||
apple-version:
|
||||
@find website -name "redirects.js" -exec sed $(SEDARG) -e '/mark:current-apple-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-apple-version)/g;}' {} \;
|
||||
@find website -type f -name "redirects.js" -o -name "route.ts" -exec sed $(SEDARG) -e '/mark:current-apple-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-apple-version)/g;}' {} \;
|
||||
@find .github -type f -exec sed $(SEDARG) -e '/mark:next-apple-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-apple-version)/g;}' {} \;
|
||||
@find swift -type f -name "project.pbxproj" -exec sed $(SEDARG) -e 's/MARKETING_VERSION = .*;/MARKETING_VERSION = $(next-apple-version);/' {} \;
|
||||
@find rust -path rust/gui-client/node_modules -prune -o -name "Cargo.toml" -exec sed $(SEDARG) -e '/mark:next-apple-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-apple-version)/;}' {} \;
|
||||
@cd rust && cargo update --workspace
|
||||
|
||||
android-version:
|
||||
@find website -name "redirects.js" -exec sed $(SEDARG) -e '/mark:current-android-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-android-version)/g;}' {} \;
|
||||
@find website -type f -name "redirects.js" -o -name "route.ts" -exec sed $(SEDARG) -e '/mark:current-android-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-android-version)/g;}' {} \;
|
||||
@find .github -type f -exec sed $(SEDARG) -e '/mark:next-android-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-android-version)/g;}' {} \;
|
||||
@find kotlin -type f -name "*.gradle.kts" -exec sed $(SEDARG) -e '/mark:next-android-version/{n;s/versionName =.*/versionName = "$(next-android-version)"/;}' {} \;
|
||||
@find rust -path rust/gui-client/node_modules -prune -o -name "Cargo.toml" -exec sed $(SEDARG) -e '/mark:next-android-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-android-version)/;}' {} \;
|
||||
@cd rust && cargo update --workspace
|
||||
|
||||
gateway-version:
|
||||
@find website -name "redirects.js" -exec sed $(SEDARG) -e '/mark:current-gateway-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-gateway-version)/g;}' {} \;
|
||||
@find website -type f -name "redirects.js" -o -name "route.ts" -exec sed $(SEDARG) -e '/mark:current-gateway-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-gateway-version)/g;}' {} \;
|
||||
@find .github -type f -exec sed $(SEDARG) -e '/mark:next-gateway-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-gateway-version)/g;}' {} \;
|
||||
@find rust -path rust/gui-client/node_modules -prune -o -name "Cargo.toml" -exec sed $(SEDARG) -e '/mark:next-gateway-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-gateway-version)/;}' {} \;
|
||||
@cd rust && cargo update --workspace
|
||||
|
||||
gui-version:
|
||||
@find website -name "redirects.js" -exec sed $(SEDARG) -e '/mark:current-gui-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-gui-version)/g;}' {} \;
|
||||
@find website -type f -name "redirects.js" -o -name "route.ts" -exec sed $(SEDARG) -e '/mark:current-gui-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-gui-version)/g;}' {} \;
|
||||
@find .github -type f -exec sed $(SEDARG) -e '/mark:next-gui-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-gui-version)/g;}' {} \;
|
||||
@find rust -path rust/gui-client/node_modules -prune -o -name "Cargo.toml" -exec sed $(SEDARG) -e '/mark:next-gui-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-gui-version)/;}' {} \;
|
||||
@cd rust && cargo update --workspace
|
||||
|
||||
headless-version:
|
||||
@find website -name "redirects.js" -exec sed $(SEDARG) -e '/mark:current-headless-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-headless-version)/g;}' {} \;
|
||||
@find website -type f -name "redirects.js" -o -name "route.ts" -exec sed $(SEDARG) -e '/mark:current-headless-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(current-headless-version)/g;}' {} \;
|
||||
@find .github -name "*.yml" -exec sed $(SEDARG) -e '/mark:next-headless-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-headless-version)/g;}' {} \;
|
||||
@find rust -path rust/gui-client/node_modules -prune -o -name "Cargo.toml" -exec sed $(SEDARG) -e '/mark:next-headless-version/{n;s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$(next-headless-version)/;}' {} \;
|
||||
@cd rust && cargo update --workspace
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
// app/api/deployed-sha/route.ts
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
import { get } from "@vercel/edge-config";
|
||||
|
||||
export async function GET(_req: NextRequest) {
|
||||
const sha = await get("deployed_sha");
|
||||
return NextResponse.json({ sha });
|
||||
}
|
||||
20
website/src/app/api/releases/route.ts
Normal file
20
website/src/app/api/releases/route.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
import { get } from "@vercel/edge-config";
|
||||
|
||||
export async function GET(_req: NextRequest) {
|
||||
const versions = {
|
||||
portal: await get("deployed_sha"),
|
||||
// mark:current-apple-version
|
||||
apple: "1.3.1",
|
||||
// mark:current-android-version
|
||||
android: "1.3.2",
|
||||
// mark:current-gui-version
|
||||
gui: "1.3.2",
|
||||
// mark:current-headless-version
|
||||
headless: "1.3.1",
|
||||
// mark:current-gateway-version
|
||||
gateway: "1.3.1",
|
||||
};
|
||||
|
||||
return NextResponse.json(versions);
|
||||
}
|
||||
@@ -7,7 +7,5 @@ export const metadata: Metadata = {
|
||||
};
|
||||
|
||||
export default function Page() {
|
||||
const sha = process.env.FIREZONE_DEPLOYED_SHA;
|
||||
|
||||
return <Changelog />;
|
||||
}
|
||||
|
||||
@@ -16,9 +16,9 @@ export default function Changelog() {
|
||||
|
||||
useEffect(() => {
|
||||
const fetchSha = async () => {
|
||||
const response = await fetch("/api/deployed-sha");
|
||||
const data = await response.json();
|
||||
setSha(data.sha);
|
||||
const response = await fetch("/api/releases");
|
||||
const versions = await response.json();
|
||||
setSha(versions.portal);
|
||||
};
|
||||
fetchSha();
|
||||
}, []);
|
||||
@@ -47,7 +47,7 @@ export default function Changelog() {
|
||||
</TabsGroup>
|
||||
{sha && (
|
||||
<p className="text-sm md:text-lg mt-4 md:mt-8">
|
||||
Current SHA of Portal and Relays in production is{" "}
|
||||
Current SHA of Portal and Relays in production:{" "}
|
||||
<Link
|
||||
href={`https://www.github.com/firezone/firezone/tree/${sha}`}
|
||||
className="underline hover:no-underline text-accent-500"
|
||||
|
||||
Reference in New Issue
Block a user