Compare commits

...

2 commits

Author SHA1 Message Date
lazzite d6d40bf503 licences 2026-09-28 18:45:52 +02:00
icenine451 5b487a0d31 Update workflow wording 2026-09-28 08:51:48 -04:00
2 changed files with 15 additions and 45 deletions

View file

@ -1,4 +1,4 @@
name: "RetroVERSE: Build Store Inventory"
name: "RetroVERSE: Build Inventory"
on:
workflow_dispatch:
@ -27,7 +27,7 @@ env:
# ---------------------------------------------------------------------------
# The Alchemist is not vendored here. It is checked out from the components
# repo at a ref pinned in alchemist/alchemist_ref, so the store repo carries
# repo at a ref pinned in alchemist/alchemist_ref, so the RetroVERSE repo carries
# only its own version_policy.sh (and optional version_pins.sh), which are
# overlaid onto the checkout.
#
@ -280,7 +280,7 @@ jobs:
fail "class 'component' must not declare files[]: deployment belongs to the external component installer"
fi
# Store version is read from retroverse_manifest.json for both classes so the aggregator needs no class-specific logic.
# RetroVERSE version is read from retroverse_manifest.json for both classes so the aggregator needs no class-specific logic.
# For components it must agree with the packaged manifest.
cm="$item_dir/component_manifest.json"
if [[ ! -f "$cm" ]]; then
@ -372,7 +372,7 @@ jobs:
# Collect item metadata, fingerprints and upstream versions
# ===========================================================================
# Replaces the components repo's resolve-versions job. There is no version
# resolution for the store version, it is read from the manifest. Component
# resolution for the RetroVERSE version, it is read from the manifest. Component
# items still resolve an upstream version through the pinned policy chain,
# for the record and for the bump check.
# ===========================================================================
@ -396,7 +396,7 @@ jobs:
# -----------------------------------------------------------------------
# Alchemist checkout. sparse-checkout keeps the rest of the components
# repo out of the workspace, and the nested .git is harmless: alchemist.sh
# resolves REPO_ROOT from its working directory, which stays the store
# resolves REPO_ROOT from its working directory, which stays the RetroVERSE
# repo root, so $REPO_ROOT/$COMPONENT_NAME still points at the item folder.
# -----------------------------------------------------------------------
- name: Checkout Alchemist
@ -408,7 +408,7 @@ jobs:
sparse-checkout: automation-tools/alchemist
sparse-checkout-cone-mode: true
- name: Overlay store version policy
- name: Overlay RetroVERSE version policy
run: |
# version_policy.sh and version_pins.sh are read from the Alchemist's
# own SCRIPT_DIR, so the components repo's copies arrive with the
@ -527,7 +527,7 @@ jobs:
echo "Processing $item ($class)..."
# -----------------------------------------------------------------
# Fingerprint covers only what the Alchemist consumes. The store
# Fingerprint covers only what the Alchemist consumes. The RetroVERSE
# manifest and artwork are excluded: they are republished from
# source every release, so a description or thumbnail edit must not
# invalidate an otherwise identical artifact.
@ -673,7 +673,7 @@ jobs:
# This does NOT force version bumps: the bump check compares
# fingerprint and upstream version, neither of which the tool ref
# touches. A tool change rebuilds without demanding a bump on
# every item in the store.
# every item in the RetroVERSE.
# ---------------------------------------------------------------
ALCHEMIST_CHANGED=false
if [[ -n "$PREV_ALCHEMIST_REF" && "$PREV_ALCHEMIST_REF" != "$ALCHEMIST_REF" ]]; then
@ -733,7 +733,7 @@ jobs:
# ===========================================================================
# Build each item (or reuse from previous release)
# ===========================================================================
# fail-fast is false: a store may hold hundreds of items and one malformed
# fail-fast is false: the RetroVERSE may hold hundreds of items and one malformed
# manifest should surface every other failure in the same run.
# ===========================================================================
build-items:
@ -764,7 +764,7 @@ jobs:
sparse-checkout: automation-tools/alchemist
sparse-checkout-cone-mode: true
- name: Overlay store version policy
- name: Overlay RetroVERSE version policy
if: matrix.can_reuse == false
run: |
if [[ ! -x "$ALCHEMIST_DIR/alchemist.sh" ]]; then
@ -909,7 +909,7 @@ jobs:
echo "Build complete"
# ---------------------------------------------------------------------
# Validation runs on every item, reused or not. The store manifest sits
# Validation runs on every item, reused or not. The RetroVERSE manifest sits
# outside the fingerprint, so an edit to files[].source alone would
# otherwise reuse the old artifact and never revalidate the paths.
# ---------------------------------------------------------------------
@ -1170,7 +1170,7 @@ jobs:
# that misses one, a collection bug, a matrix entry that produced no
# leg. None of those fail anything on their own, and the result would
# be a smaller inventory that every client reads as those items having
# been removed from the store.
# been removed from the RetroVERSE.
# -------------------------------------------------------------------
jq -r 'keys[]' <<< "$CURRENT" | sort > /tmp/expected_items
printf '%s\n' "${ARCHIVES[@]}" \
@ -1196,7 +1196,7 @@ jobs:
if [[ "$INVENTORY_ERRORS" -gt 0 ]]; then
echo ""
echo "ERROR: inventory is incomplete: refusing to publish a partial store"
echo "ERROR: inventory is incomplete: refusing to publish a partial set"
echo " Expected: $(wc -l < /tmp/expected_items) items"
echo " Collected: $(wc -l < /tmp/collected_items) items"
exit 1
@ -1225,7 +1225,7 @@ jobs:
# file_hashes for a REUSED item are carried forward from the previous
# release. A reused item is never unpacked and rehashed. Omitting this
# would not fail the build; it would silently ship empty hash maps for
# the most stable items in the store.
# the most stable items in the RetroVERSE.
# ---------------------------------------------------------------------
- name: Generate retroverse.json
env:
@ -1330,7 +1330,7 @@ jobs:
--arg alchemist_ref "${{ needs.configure.outputs.alchemist_ref }}" \
--argjson items "$entries" \
'{
store_schema_version: ($schema | tonumber),
retroverse_schema_version: ($schema | tonumber),
source_id: $source_id,
release_tag: $tag,
built_on: $built_on,

View file

@ -19,36 +19,6 @@
################################################################################
################################################################################
===============================================================================
Dink Smallwood HD
===============================================================================
Dink Smallwood HD License (applies to source code and HD-specific media)
Copyright (C) 1997-2026 Seth A. Robinson All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
Any software using source code from this distribution must contain the text "This product includes software developed by Seth A. Robinson ( www.rtsoft.com )" inside the app in an easily accessible position and sufficiently legible font.
Except as contained in this notice, the name of Seth A. Robinson shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior authorization from Seth A. Robinson.
The name "Dink Smallwood" and "Dink Smallwood HD" are copyrighted by Robinson Technologies Corporation and shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior authorization from Seth A. Robinson.
Media licensing:
a. The original Dink Smallwood game data (most of bin/dink/, including graphics, tiles, scripts, sound effects, and map data) was released under a zlib-style license in 2008 and may be freely redistributed.
b. HD-specific media created by Seth A. Robinson — including GUI assets (bin/interface/), UI audio (bin/audio/), and CD audio/music tracks — is covered by this license (same terms as the source code above, including the attribution requirement).
c. Some sound effects originate from sound effect libraries or unknown sources and their redistribution status is unclear. Please contact Seth if you have questions about specific files.
d. Redistribution of all media as a complete package is authorized for the official Dink Smallwood HD application (com.rtsoft.DinkSmallwoodHD) published by Robinson Technologies. This includes files with unclear redistribution status referenced in (c) above.
THIS SOFTWARE IS PROVIDED 'AS IS' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SETH A. ROBINSON BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
===============================================================================
Warzone 2100
===============================================================================