This is an automated email from the ASF dual-hosted git repository.
bisman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-resilientdb-site.git
The following commit(s) were added to refs/heads/master by this push:
new 79e4f02 Fixed download links from Issue #51
79e4f02 is described below
commit 79e4f0258ee27855a72e02807f6b2b709d792a0e
Author: Bismanpal Singh <[email protected]>
AuthorDate: Fri Jan 30 12:51:23 2026 -0800
Fixed download links from Issue #51
---
src/components/Download/DownloadBox.tsx | 34 +++++++---
src/components/Download/index.tsx | 107 ++++++++++++++++++++++++++------
src/components/Footer/index.tsx | 8 +++
src/styles/index.css | 28 ++++-----
4 files changed, 135 insertions(+), 42 deletions(-)
diff --git a/src/components/Download/DownloadBox.tsx
b/src/components/Download/DownloadBox.tsx
index 6112d8f..007aea2 100644
--- a/src/components/Download/DownloadBox.tsx
+++ b/src/components/Download/DownloadBox.tsx
@@ -5,10 +5,11 @@ const DownloadBox = (props: {
sha512Link: string;
signLink: string;
downloadLink: string;
+ keysLink: string;
isApache: boolean;
children?: React.ReactNode;
}) => {
- const { type, packageName, subtitle, sha512Link, signLink, downloadLink,
isApache, children } = props;
+ const { type, packageName, subtitle, sha512Link, signLink, downloadLink,
keysLink, isApache, children } = props;
return (
<div className="w-full">
@@ -24,26 +25,41 @@ const DownloadBox = (props: {
<p className="mb-7 text-base text-body-color">{subtitle}</p>
<div className="mb-8 border-b border-body-color border-opacity-10 pb-8
dark:border-white dark:border-opacity-10">
<a
- href={downloadLink}
- className="flex w-full items-center justify-center rounded-sm
bg-primary p-3 text-base font-semibold text-white transition duration-300
ease-in-out hover:bg-opacity-80 hover:shadow-signUp"
+ href={`${downloadLink}?action=download`}
+ className="flex w-full items-center justify-center rounded-sm
bg-primary p-3 text-base font-semibold text-white transition duration-300
ease-in-out hover:bg-opacity-80 hover:shadow-signUp mb-3"
>
Download Code ({type})
</a>
+ <a
+ href={downloadLink}
+ target="_blank"
+ rel="noopener noreferrer"
+ className="flex w-full items-center justify-center rounded-sm
border border-primary bg-transparent p-3 text-base font-semibold text-primary
transition duration-300 ease-in-out hover:bg-primary hover:text-white"
+ >
+ Other Download Options
+ </a>
</div>
- <div className="flex justify-center mb-4">
- <div className="badge-download-container">
+ <div className="mb-4">
+ <div className="flex justify-center gap-2 mb-3">
{sha512Link && (
- <a href={sha512Link} className="badge-download">
+ <a href={sha512Link} className="badge-download" target="_blank"
rel="noopener noreferrer">
SHA512
</a>
)}
{signLink && (
- <a href={signLink} className="badge-download">
+ <a href={signLink} className="badge-download" target="_blank"
rel="noopener noreferrer">
ASC
</a>
)}
- <span className="badge-asf">
- {isApache ? "ASF release" : "Non-ASF release"}
+ {keysLink && (
+ <a href={keysLink} className="badge-download" target="_blank"
rel="noopener noreferrer">
+ KEYS
+ </a>
+ )}
+ </div>
+ <div className="flex justify-center">
+ <span className={`badge-asf ${!isApache ? "non-asf" : ""}`}>
+ {isApache ? "ASF release" : "Non-ASF"}
</span>
</div>
</div>
diff --git a/src/components/Download/index.tsx
b/src/components/Download/index.tsx
index 282999b..86cdf05 100644
--- a/src/components/Download/index.tsx
+++ b/src/components/Download/index.tsx
@@ -6,16 +6,26 @@ import DownloadBox from "./DownloadBox";
const Download = () => {
const [isZIP, setIsZIP] = useState(false);
- const asfSha512LinkZIP = "";
- const asfSha512LinkTAR =
"https://dist.apache.org/repos/dist/release/incubator/resilientdb/1.11.0/apache-resilientdb-1.11.0-incubating-src.tar.gz.sha512";
- const nonAsfSha512LinkZIP = "";
- const nonAsfSha512LinkTAR = "";
- const signLink =
"https://dist.apache.org/repos/dist/release/incubator/resilientdb/1.11.0/apache-resilientdb-1.11.0-incubating-src.tar.gz.asc";
+ // Version configuration
+ const version = "1.11.0";
+ const fileName = `apache-resilientdb-${version}-incubating-src`;
+
+ // Apache download URLs - use closer.lua for source code (mirrors),
downloads.apache.org for sigs/hashes
+ const asfDownloadLinkTAR =
`https://www.apache.org/dyn/closer.lua/incubator/resilientdb/${version}/${fileName}.tar.gz`;
+ const asfSha512LinkTAR =
`https://downloads.apache.org/incubator/resilientdb/${version}/${fileName}.tar.gz.sha512`;
+ const signLinkTAR =
`https://downloads.apache.org/incubator/resilientdb/${version}/${fileName}.tar.gz.asc`;
+ const keysLink = "https://downloads.apache.org/incubator/resilientdb/KEYS";
+ // ZIP links (if available)
const asfDownloadLinkZIP = "";
- const asfDownloadLinkTAR =
"https://dist.apache.org/repos/dist/release/incubator/resilientdb/1.11.0/apache-resilientdb-1.11.0-incubating-src.tar.gz";
+ const asfSha512LinkZIP = "";
+ const signLinkZIP = "";
+
+ // Non-ASF (GitHub) links
const nonAsfDownloadLinkZIP =
"https://github.com/apache/incubator-resilientdb/archive/refs/tags/v1.11.0-rc03.zip";
const nonAsfDownloadLinkTAR = "";
+ const nonAsfSha512LinkZIP = "";
+ const nonAsfSha512LinkTAR = "";
const availableZIP = asfDownloadLinkZIP && nonAsfDownloadLinkZIP;
const availableTAR = asfDownloadLinkTAR && nonAsfDownloadLinkTAR;
@@ -77,12 +87,13 @@ const Download = () => {
{asfDownloadLinkZIP && (
<div className="px-10">
<DownloadBox
- packageName="v1.10.0"
+ packageName={`v${version}`}
type="zip"
subtitle="Download the latest source code release from
Apache"
sha512Link={asfSha512LinkZIP}
- signLink={signLink}
+ signLink={signLinkZIP}
downloadLink={asfDownloadLinkZIP}
+ keysLink={keysLink}
isApache={true}
/>
</div>
@@ -90,13 +101,14 @@ const Download = () => {
{nonAsfDownloadLinkZIP && (
<div className="px-10">
<DownloadBox
- packageName="v1.10.0"
+ packageName="v1.11.0-rc03"
type="zip"
subtitle="Download the latest source code release from
GitHub"
sha512Link={nonAsfSha512LinkZIP}
- signLink={signLink}
+ signLink=""
downloadLink={nonAsfDownloadLinkZIP}
- isApache={true}
+ keysLink=""
+ isApache={false}
/>
</div>
)}
@@ -105,13 +117,14 @@ const Download = () => {
<div className={`grid grid-cols-1 gap-x-0 gap-y-2
md:grid-cols-2 ${availableZIP ? 'lg:grid-cols-2': 'lg:grid-cols-1'}`}>
<div className="px-10">
<DownloadBox
- packageName="v1.10.0"
+ packageName="v1.11.0-rc03"
type="zip"
subtitle="Download the latest source code release from
GitHub"
sha512Link={nonAsfSha512LinkZIP}
- signLink={signLink}
+ signLink=""
downloadLink={nonAsfDownloadLinkZIP}
- isApache={true}
+ keysLink=""
+ isApache={false}
/>
</div>
</div>
@@ -122,12 +135,13 @@ const Download = () => {
{asfDownloadLinkTAR && (
<div className="px-10">
<DownloadBox
- packageName="v1.10.0"
+ packageName={`v${version}`}
type="tar.gz"
subtitle="Download the latest source code release from
Apache"
sha512Link={asfSha512LinkTAR}
- signLink={signLink}
+ signLink={signLinkTAR}
downloadLink={asfDownloadLinkTAR}
+ keysLink={keysLink}
isApache={true}
/>
</div>
@@ -135,13 +149,14 @@ const Download = () => {
{nonAsfDownloadLinkTAR && (
<div className="px-10">
<DownloadBox
- packageName="v1.10.0"
+ packageName={`v${version}`}
type="tar.gz"
subtitle="Download the latest source code release from
GitHub"
sha512Link={nonAsfSha512LinkTAR}
- signLink={signLink}
+ signLink=""
downloadLink={nonAsfDownloadLinkTAR}
- isApache={true}
+ keysLink=""
+ isApache={false}
/>
</div>
)}
@@ -149,6 +164,60 @@ const Download = () => {
</>
)}
</div>
+
+ {/* Verification Instructions */}
+ <div className="mt-16 mx-auto max-w-3xl">
+ <h3 className="mb-6 text-2xl font-bold text-black dark:text-white
text-center">
+ Verify Your Download
+ </h3>
+ <div className="rounded-sm bg-white px-8 py-8 shadow-three
dark:bg-gray-dark dark:shadow-two">
+ <p className="mb-4 text-base text-body-color
dark:text-body-color-dark">
+ It is essential to verify the integrity of downloaded files
using the PGP signature (.asc) or SHA512 hash (.sha512).
+ </p>
+
+ <h4 className="mb-3 text-lg font-semibold text-black
dark:text-white">
+ 1. Download the KEYS file
+ </h4>
+ <p className="mb-2 text-base text-body-color
dark:text-body-color-dark">
+ First, download the{" "}
+ <a
+ href={keysLink}
+ className="text-primary hover:underline"
+ target="_blank"
+ rel="noopener noreferrer"
+ >
+ KEYS file
+ </a>
+ {" "}containing the public keys used to sign releases.
+ </p>
+ <pre className="mb-6 overflow-x-auto rounded bg-gray-100 p-4
text-sm dark:bg-gray-800">
+ <code>gpg --import KEYS</code>
+ </pre>
+
+ <h4 className="mb-3 text-lg font-semibold text-black
dark:text-white">
+ 2. Verify using PGP signature
+ </h4>
+ <p className="mb-2 text-base text-body-color
dark:text-body-color-dark">
+ Download the .asc signature file and verify:
+ </p>
+ <pre className="mb-6 overflow-x-auto rounded bg-gray-100 p-4
text-sm dark:bg-gray-800">
+ <code>{`gpg --verify ${fileName}.tar.gz.asc
${fileName}.tar.gz`}</code>
+ </pre>
+
+ <h4 className="mb-3 text-lg font-semibold text-black
dark:text-white">
+ 3. Verify using SHA512 hash
+ </h4>
+ <p className="mb-2 text-base text-body-color
dark:text-body-color-dark">
+ Download the .sha512 hash file and verify:
+ </p>
+ <pre className="mb-4 overflow-x-auto rounded bg-gray-100 p-4
text-sm dark:bg-gray-800">
+ <code>{`shasum -a 512 -c ${fileName}.tar.gz.sha512`}</code>
+ </pre>
+ <p className="text-sm text-body-color dark:text-body-color-dark">
+ On Linux, you can use <code className="rounded bg-gray-100 px-1
dark:bg-gray-800">sha512sum</code> instead of <code className="rounded
bg-gray-100 px-1 dark:bg-gray-800">shasum -a 512</code>.
+ </p>
+ </div>
+ </div>
</div>
</section>
);
diff --git a/src/components/Footer/index.tsx b/src/components/Footer/index.tsx
index 2fe97c7..d967292 100644
--- a/src/components/Footer/index.tsx
+++ b/src/components/Footer/index.tsx
@@ -158,6 +158,14 @@ const Footer = async () => {
Email us
</Link>
</li>
+ <li>
+ <Link
+
href="https://github.com/apache/incubator-resilientdb/issues"
+ className="mb-4 inline-block text-base text-body-color
duration-300 hover:text-primary dark:text-body-color-dark
dark:hover:text-primary"
+ >
+ Issue Tracker
+ </Link>
+ </li>
</ul>
</div>
</div>
diff --git a/src/styles/index.css b/src/styles/index.css
index f132dec..73b81a6 100644
--- a/src/styles/index.css
+++ b/src/styles/index.css
@@ -325,8 +325,6 @@
.badge-download {
display: inline-block;
padding: 0.25rem 0.5rem;
- margin-right: 0.5rem;
- margin-bottom: 0.5rem;
font-size: 0.875rem;
font-weight: 600;
color: #fff;
@@ -358,22 +356,24 @@
}
.badge-asf {
- display: inline-block;
+ display: inline-flex;
+ align-items: center;
padding: 0.25rem 0.5rem;
- margin-right: 0.5rem;
- margin-bottom: 0.5rem;
- font-size: 0.875rem;
- font-weight: 600;
- color: #fff;
- background-color: #e5602b;
+ font-size: 0.75rem;
+ font-weight: 500;
+ color: #e5602b;
+ background-color: transparent;
+ border: 1px solid #e5602b;
border-radius: 0.25rem;
- text-decoration: none;
- transition: background-color 0.3s;
- cursor: pointer;
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+ cursor: default;
+ user-select: none;
}
-.badge-asf:hover {
- background-color: #d3460e;
+.badge-asf.non-asf {
+ color: #6b7280;
+ border-color: #6b7280;
}
/* Community Page Heading Styles */