diff --git a/.github/workflows/check-divecomputer-lists.yml b/.github/workflows/check-divecomputer-lists.yml new file mode 100644 index 00000000000..a962b80f68e --- /dev/null +++ b/.github/workflows/check-divecomputer-lists.yml @@ -0,0 +1,40 @@ +name: Check the Supported Dive Computer Lists + +on: + push: + branches: + - master + paths: + - libdivdcomputer/src/descriptor.c + - SupportedDivecomputers.txt + - SupportedDivecomputers.html + - scripts + pull_request: + branches: + - master + paths: + - libdivdcomputer/src/descriptor.c + - SupportedDivecomputers.txt + - SupportedDivecomputers.html + - scripts + +jobs: + check-divecomputer-lists: + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + + - name: Check the Supported Dive Computer Lists + run: | + perl scripts/parse-descriptor.pl SupportedDivecomputers_new.txt + diff -u SupportedDivecomputers.txt SupportedDivecomputers_new.txt + TXT_EXIT_CODE=$? + + perl scripts/parse-descriptor.pl SupportedDivecomputers_new.html + diff -u SupportedDivecomputers.html SupportedDivecomputers_new.html + + if [ $? -ne 0 -o $TXT_EXIT_CODE -ne 0 ] ; then + echo "The list of supported dive computers in libdivecomputer has changed. Please run `scripts/update-supported-divecomputer-lists.sh` and commit the resulting changes." + exit 1 + fi diff --git a/scripts/update-supported-divecomputer-lists.sh b/scripts/update-supported-divecomputer-lists.sh new file mode 100755 index 00000000000..47743c6c690 --- /dev/null +++ b/scripts/update-supported-divecomputer-lists.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# +# Update the Lists of Supported Dive Computers Based +# on the Information in the libdivecomputer Source Code +# + +CONTAINER_NAME=subsurface-android-builder + +pushd . &> /dev/null +cd "$(dirname "$0")/.." + +perl scripts/parse-descriptor.pl SupportedDivecomputers.html +perl scripts/parse-descriptor.pl SupportedDivecomputers.txt + +popd &> /dev/null