The PR is live: Debian package.
See the artefacts produced: Debian package
Note, the Debian package version is set to 3.7.18-1 (the -1 means first Debian revision of version 3.7.18 of upstream).
The Debian package version should be updated when making a new release. This is stored in debian/changelog. Typically, developers use the tool dch to set the version. For example, I did
$ DEBEMAIL=... dch --release-heuristic log -v 3.7.18-1 "New upstream release"
For now, I propose this is done manually. If you let me know, then I can do that and make a PR on the next release. In the future, we should perhaps try to automatise it a bit. The challenge is that in a workflow, the version should only be updated on a release (tag), and then preferably be pushed back into the repository. It needs a bit of thinking.
Also, perhaps the script https://vassalengine.org/js/detect-3.7.17.js should be modified so that users are alerted to the package - e.g.,
document.addEventListener("DOMContentLoaded", async () => {
// get what data we can
const uach = await get_userAgentData();
const base_url = 'https://github.com/vassalengine/vassal/releases';
const ver = '3.7.17';
const dl_url = `${base_url}/download/${ver}`;
const get_vassal = 'Get Vassal';
let btn_text = get_vassal;
let btn_link = '/download.html';
let sub_text = '';
let sub_link = '';
let specific_download = false;
if (!uach.mobile) {
if (uach.platform === PLATFORM_WINDOWS) {
if (uach.architecture === ARCH_X86) {
if (uach.bitness === BITS_64) {
specific_download = true;
btn_text = `${get_vassal} for ${uach.platform} (64-bit x86)`;
btn_link = `${dl_url}/VASSAL-${ver}-windows-x86_64.exe`;
}
else if (uach.bitness === BITS_32) {
specific_download = true;
btn_text = `${get_vassal} for ${uach.platform} (32-bit x86)`;
btn_link = `${dl_url}/VASSAL-${ver}-windows-x86_32.exe`;
}
}
else if (uach.architecture === ARCH_ARM && uach.bitness === BITS_64) {
specific_download = true;
btn_text = `${get_vassal} for ${uach.platform} (64-bit ARM)`;
btn_link = `${dl_url}/VASSAL-${ver}-windows-aarch64.exe`;
}
}
else if (uach.platform === PLATFORM_MACOS && uach.bitness === BITS_64) {
specific_download = true;
btn_text = `${get_vassal} for ${uach.platform}`;
btn_link = `${dl_url}/VASSAL-${ver}-macos-universal.dmg`;
}
else if (uach.platform === PLATFORM_LINUX) {
specific_download = true;
btn_text = `${get_vassal} for ${uach.platform}`;
btn_link = `${dl_url}/VASSAL-${ver}-linux.tar.bz2`;
sub_text = 'Or Debian package';
sub_link = `${dl_url}/vassal_${ver}-1_all.deb`;
}
}
if (!specific_download) {
// detection failed to be specific enough
const alt_downloads = document.getElementById('alt_downloads');
alt_downloads.style.display = 'none';
}
const btn = document.getElementById('download_btn');
btn.textContent = btn_text;
btn.href = btn_link;
const sub = document.getElementById('sub_btn');
sub.textConcent = sub_txt;
sub.href = sub_link;
});
and https://vassalengine.org/index.html amended
<div class="hero border-bottom mb-5">
<div class="container px-4 pt-5 mt-5 mb-5 text-center">
<h1 class="display-4 fw-bold">Play boardgames, virtually</h1>
<div class="d-grid gap-2 d-sm-flex justify-content-sm-center mt-4">
<a id="download_btn" class="btn btn-primary btn-lg px-4" href="/download.html">Get Vassal</a>
<a id="sub_btn" class="btn btn-primary btn-lg px-4" href="/download.html"></a>
</div>
<div id="alt_downloads" class="gap-2 justify-content-sm-center container mt-1">
<div class="row">
<div class="col-sm text-muted">
<div><small>Not the download you're looking for?</small></div>
<div><small><a href="/download.html">Look here for others.</a></small></div>
</div>
</div>
</div>
</div>
Oh, and of course https://vassalengine.org/download.html should probably also be amended
<!-- Linux -->
<div class="col d-flex align-items-start">
<div class="me-3">
<svg class="os-icon" width="3em" height="3em"><use xlink:href="#fab-linux"></use></svg>
</div>
<div class="w-100">
<h3>Linux</h3>
<p>Ensure that you have Java 11 (or later) installed. Then download and unpack the tarball:</p>
<div class="list-group">
<a class="list-group-item list-group-item-action d-flex gap-3 py-3 w-100" href="https://github.com/vassalengine/vassal/releases/download/3.7.17/vassal-_3.7.17-1_all.deb">
<div>
<h6>.deb for Debian and derivatives</h6>
<p class="mb-0 text-muted">vassal_3.7.17-1_all.deb</p>
</div>
</a>
<a class="list-group-item list-group-item-action d-flex gap-3 py-3 w-100" href="https://github.com/vassalengine/vassal/releases/download/3.7.17/VASSAL-3.7.17-linux.tar.bz2">
<div>
<h6>.tar.bz2 for all architectures</h6>
<p class="mb-0 text-muted">VASSAL-3.7.17-linux.tar.bz2</p>
</div>
</a>
</div>
</div>
</div>
Yours,
Christian