Page MenuHomePhabricator

No OneTemporary

diff --git a/releases.html b/releases.html
index 8422786..1348e42 100644
--- a/releases.html
+++ b/releases.html
@@ -1,132 +1,132 @@
---
layout: page
title: Bitcoin ABC Releases
subtitle: Download the latest Bitcoin ABC software
---
-{% assign active_versions = "0.24, 0.23" | split: ", " %}
+{% assign active_versions = "0.25, 0.24" | split: ", " %}
{% assign releases = site.data.github-releases %}
{% if releases.size > 0 %}
{% assign latestVersion = releases[0].name %}
{% include upgrade-notice.html %}
<!-- Offset the version anchor of the first release so that the top of the page is in view -->
<a class="offset-anchor" style="top: -400px" id="{{ latestVersion }}"></a>
<div class="hero-box">
<h1>Download Bitcoin ABC {{ latestVersion }}</h1>
<div style="margin: 6px">Published: {{ releases[0].published_at | date: "%a %b %e %Y" }}</div>
<div>
<a class="btn btn-primary download-button" href="https://download.bitcoinabc.org/{{ latestVersion }}/linux/bitcoin-abc-{{ latestVersion }}-x86_64-linux-gnu.tar.gz">
<i class="fab fa-linux"></i>
Linux
</a>
<a class="btn btn-primary download-button" href="https://download.bitcoinabc.org/{{ latestVersion }}/osx/bitcoin-abc-{{ latestVersion }}-osx-unsigned.dmg">
<i class="fab fa-apple"></i>
OSX
</a>
<a class="btn btn-primary download-button" href="https://download.bitcoinabc.org/{{ latestVersion }}/win/bitcoin-abc-{{ latestVersion }}-win64-setup-unsigned.exe">
<i class="fab fa-windows"></i>
Windows
</a>
<a class="btn btn-primary download-button" href="https://download.bitcoinabc.org/{{ latestVersion }}/src/bitcoin-abc-{{ latestVersion }}.tar.gz">
<i class="fas fa-code-branch"></i>
Source Snapshot
</a>
</div>
<div style="margin-top: 20px">
<h4>Packages</h4>
<a class="btn btn-primary download-button" href="https://launchpad.net/~bitcoin-abc/+archive/ubuntu/ppa/">
<i class="fab fa-ubuntu"></i>
Ubuntu
</a>
<div class="btn-group">
<a class="btn btn-primary download-button" style="border-right: solid 5px #1e5d94;" href="https://aur.archlinux.org/packages/bitcoin-abc/">
Arch Linux
</a>
<a class="btn btn-primary download-button" href="https://aur.archlinux.org/packages/bitcoin-abc-qt/">
(Qt)
</a>
</div>
<a class="btn btn-primary download-button" href="https://hub.docker.com/r/bitcoinabc/bitcoin-abc/">
<i class="fab fa-docker"></i>
Docker
</a>
</div>
</div>
<div class="hero-box" style="background: #bea">
This release is compatible with the <a style="font-weight: bold" href="/ecash">eCash</a> rebranding.
</div>
<div class="hero-box">
For the latest source code, see <a href="https://github.com/Bitcoin-ABC/bitcoin-abc">Github</a>.
</div>
{% capture include_release_notes %}{% include_relative abc_md_docs/doc/release-notes/release-notes-{{ latestVersion }}.md %}{% endcapture %}
{{ include_release_notes | markdownify }}
<hr />
<!-- Offset the version anchor of the first past release up here so that the top of the table is in view -->
<a class="offset-anchor" id="{{ releases[1].name }}"></a>
<div style="text-align: center;">
{% assign versionAnchorIndex = 2 %}
{% assign pastReleases = releases | slice:1,15 %}
{% if pastReleases.size > 0 %}
<h2>Past Releases</h2>
<table style="margin: 0 auto;">
<tbody>
<tr>
<td>Version</td>
<td>Published</td>
<td>Downloads</td>
<td>Release Notes</td>
</tr>
{% for release in pastReleases %}
{% assign version = release.name %}
{% assign minor_version = version | slice: 0, 4 %}
{% if active_versions contains minor_version %}
<tr>
<td>
{{ version }}
<!-- offset-anchor version does not match `version`, as the whole
point is to offset the location of the anchor so that the
correct version is in view without additional scrolling -->
<a class="offset-anchor" id="{{ releases[versionAnchorIndex].name }}"></a>
{% assign versionAnchorIndex = versionAnchorIndex | plus: 1 %}
</td>
<td>{{ release.published_at | date: "%Y %b %e" }}</td>
<td>
<a class="btn btn-primary" href="https://download.bitcoinabc.org/{{ version }}/linux/bitcoin-abc-{{ version }}-x86_64-linux-gnu.tar.gz">
<i class="fab fa-linux"></i>
</a>
<a class="btn btn-primary" href="https://download.bitcoinabc.org/{{ version }}/osx/bitcoin-abc-{{ version }}-osx-unsigned.dmg">
<i class="fab fa-apple"></i>
</a>
<a class="btn btn-primary" href="https://download.bitcoinabc.org/{{ version }}/win/bitcoin-abc-{{ version }}-win64-setup-unsigned.exe">
<i class="fab fa-windows"></i>
</a>
<a class="btn btn-primary" href="https://download.bitcoinabc.org/{{ version }}/src/bitcoin-abc-{{ version }}.tar.gz">
<i class="fas fa-code-branch"></i>
</a>
</td>
<td><a href="/doc/release-notes/release-notes-{{ version }}.html">{{ version }} Release Notes</a></td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% endif %}
<h3>For older releases, see <a href="https://download.bitcoinabc.org/">Archived Releases</a></h3>
</div>
{% else %}
<h3 style="text-align: center"><a href="https://download.bitcoinabc.org/">Download Releases Here</a></h3>
{% endif %}
diff --git a/scripts/fetch_documentation.sh b/scripts/fetch_documentation.sh
index f3132dd..3b38b38 100755
--- a/scripts/fetch_documentation.sh
+++ b/scripts/fetch_documentation.sh
@@ -1,158 +1,158 @@
#!/usr/bin/env bash
set -euxo pipefail
# Github repository parameters
GITHUB_OWNER='Bitcoin-ABC'
GITHUB_REPO='bitcoin-abc'
# Max number of release versions to display
MAX_RELEASES=15
# Min version for rpc docs generation
-MIN_VERSION_RPC_DOCS='0.23.0'
+MIN_VERSION_RPC_DOCS='0.24.0'
# Min version for man pages generation
-MIN_VERSION_MAN_PAGES='0.23.0'
+MIN_VERSION_MAN_PAGES='0.24.0'
# jq must be installed
if ! command -v jq > /dev/null; then
echo "Error: 'jq' is not installed."
exit 10
fi
SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd)
TOPLEVEL=$(git -C "${SCRIPT_DIR}" rev-parse --show-toplevel)
# Get the last MAX_RELEASES releases
RELEASES=$(curl -L -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${GITHUB_OWNER}/${GITHUB_REPO}/releases?per_page=${MAX_RELEASES})
echo "${RELEASES}" > "${TOPLEVEL}"/_data/github-releases.json
# Extract release version numbers
RELEASE_VERSIONS=($(echo ${RELEASES} | jq -r '[.[].name] | reverse[]'))
# Extract release tags
RELEASE_TAGS=($(echo ${RELEASES} | jq -r '[.[].tag_name] | reverse[]'))
# Create the cache directory as needed. This is where the sources will be
# cloned, and where the docs will be built.
: "${CACHE_DIR:=${TOPLEVEL}/.user-doc-cache}"
mkdir -p "${CACHE_DIR}"
SRC_DIR="${CACHE_DIR}/${GITHUB_REPO}"
if [ ! -d "${SRC_DIR}" ]
then
git clone "https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}.git" "${SRC_DIR}"
fi
pushd "${SRC_DIR}"
git reset --hard HEAD
git clean -xffd || true
git checkout master
git pull --tags origin master
popd
version_greater_equal()
{
printf '%s\n%s\n' "$2" "$1" | sort -V -C
}
for i in "${!RELEASE_VERSIONS[@]}"
do
VERSION="${RELEASE_VERSIONS[$i]}"
TAG="${RELEASE_TAGS[$i]}"
if version_greater_equal "${VERSION}" "${MIN_VERSION_RPC_DOCS}"
then
BUILD_RPC_DOCS="yes"
else
BUILD_RPC_DOCS="no"
fi
if version_greater_equal "${VERSION}" "${MIN_VERSION_MAN_PAGES}"
then
BUILD_MAN_PAGES="yes"
else
BUILD_MAN_PAGES="no"
fi
if [ "${BUILD_RPC_DOCS}" = "no" ] && [ "${BUILD_MAN_PAGES}" = "no" ]
then
continue
fi
# Checkout the release tag
pushd "${SRC_DIR}"
git checkout "tags/${TAG}"
popd
# Prepare some directories
WEBSITE_DIR="${TOPLEVEL}/_doc/${VERSION}"
mkdir -p "${WEBSITE_DIR}"
VERSION_DIR="${CACHE_DIR}/${VERSION}"
mkdir -p "${VERSION_DIR}"
BUILD_DIR="${SRC_DIR}/build_${VERSION}"
mkdir -p "${BUILD_DIR}"
INSTALL_DIR="${BUILD_DIR}/install"
mkdir -p "${INSTALL_DIR}"
pushd "${BUILD_DIR}"
if [ "${BUILD_RPC_DOCS}" = "yes" ] && [ ! -d "${VERSION_DIR}/rpc" ]
then
# Build and install the release version
cmake -GNinja "${SRC_DIR}" -DCLIENT_VERSION_IS_RELEASE=ON -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
ninja doc-rpc
# Cache the result
cp -R "${BUILD_DIR}/doc/rpc/en/${VERSION}/rpc" "${VERSION_DIR}/"
fi
if [ "${BUILD_MAN_PAGES}" = "yes" ] && [ ! -d "${VERSION_DIR}/man" ]
then
# xvfb is only needed to build headlessly.
if ! command -v xvfb-run
then
echo "xvfb is required to build the docs headlessly, please install it."
exit 3
fi
# Build and install the man pages
cmake -GNinja "${SRC_DIR}" -DCLIENT_VERSION_IS_RELEASE=ON -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
xvfb-run -a -e /dev/stderr ninja install-manpages-html
mkdir -p "${VERSION_DIR}/man"
# Cache the result
cp "${INSTALL_DIR}"/share/man/html/* "${VERSION_DIR}/man/"
fi
popd
# Copy everything from the cache to the website directory
cp -R "${VERSION_DIR}"/* "${WEBSITE_DIR}/"
done
# Pull all the markdown files from the ABC repository so they can be converted
# and rendered by jekyll. The tree directory structure is preserved in order to
# keep the links working.
pushd "${SRC_DIR}"
git checkout master
${SCRIPT_DIR}/fetch_markdown_files.sh "${SRC_DIR}"
# If the release notes file for the latest release isn't archived yet, make the
# latest release notes available for that version number. This temporary copy
# will be replaced once the release notes are archived.
ABC_MD_DOCS="${TOPLEVEL}"/abc_md_docs
LATEST_RELEASE_VERSION=${RELEASE_VERSIONS[${#RELEASE_VERSIONS[@]}-1]}
LATEST_RELEASE_NOTES="${ABC_MD_DOCS}/doc/release-notes/release-notes-${LATEST_RELEASE_VERSION}"
if [ ! -f "${LATEST_RELEASE_NOTES}.md" ]; then
cp "${ABC_MD_DOCS}/doc/release-notes.md" "${LATEST_RELEASE_NOTES}.md"
cp "${ABC_MD_DOCS}/doc/release-notes.page.md" "${LATEST_RELEASE_NOTES}.page.md"
sed -i "s/permalink: \/doc\/release-notes.html/permalink: \/doc\/release-notes\/release-notes-${LATEST_RELEASE_VERSION}.html/g" "${LATEST_RELEASE_NOTES}.page.md"
fi
popd

File Metadata

Mime Type
text/x-diff
Expires
Wed, May 21, 22:56 (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5866108
Default Alt Text
(10 KB)

Event Timeline