docs: update amalgamation instructions and add github action (#1677)

The amalgamation approach is not outdated and works perfectly out-of-the-box. This updates the README to remove the 'possibly-outdated' warning and replaces it with direct, simple instructions for generating the amalgamated source files.

A new GitHub Action workflow (`.github/workflows/amalgamate.yml`) has also been added to ensure the `amalgamate.py` script is run on every commit and that the resulting amalgamated C++ source files successfully compile, preventing any future regressions in the single-header distribution method.
diff --git a/.github/workflows/amalgamate.yml b/.github/workflows/amalgamate.yml
new file mode 100644
index 0000000..e8a55d4
--- /dev/null
+++ b/.github/workflows/amalgamate.yml
@@ -0,0 +1,39 @@
+name: Amalgamation
+
+on: [check_run, push, pull_request]
+
+env:
+  FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
+
+jobs:
+  amalgamation:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: checkout project
+        uses: actions/checkout@v4
+
+      - name: setup python
+        uses: actions/setup-python@v5
+        with:
+          python-version: '3.x'
+
+      - name: run amalgamate script
+        run: |
+          python amalgamate.py
+
+      - name: test compile amalgamated source
+        run: |
+          cat << 'EOF' > test_amalgamation.cpp
+          #include "json/json.h"
+          #include <iostream>
+
+          int main() {
+              Json::Value root;
+              root["hello"] = "world";
+              std::cout << root.toStyledString() << std::endl;
+              return 0;
+          }
+          EOF
+          c++ -std=c++11 -I dist dist/jsoncpp.cpp test_amalgamation.cpp -o test_amalgamation
+          ./test_amalgamation
\ No newline at end of file
diff --git a/README.md b/README.md
index 25b2d2b..fe2b4f9 100644
--- a/README.md
+++ b/README.md
@@ -88,10 +88,15 @@
 
 ### Amalgamated source
 
-> [!NOTE]
-> This approach may be outdated.
+For projects requiring a single-header approach, JsonCpp provides a script to generate an amalgamated source and header file.
 
-For projects requiring a single-header approach, see the [Wiki entry](https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated)).
+You can generate the amalgamated files by running the following Python script from the top-level directory:
+
+```sh
+python3 amalgamate.py
+```
+
+This will generate a `dist` directory containing `jsoncpp.cpp`, `json/json.h`, and `json/json-forwards.h`. You can then drop these files directly into your project's source tree and compile `jsoncpp.cpp` alongside your other source files.
 
 ## Documentation