[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. 3a10a363dc8a4358ace22
Library to control radio transceivers and receivers
Brought to you by:
n0nb
|
From: n0nb <n0...@us...> - 2025-09-13 20:56:11
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 3a10a363dc8a4358ace228620a1e3cdc185f459e (commit)
via 410c172ed67da2dd3b9b001df524698e05d72805 (commit)
via 85bd4882dd2ea8f9fc398b440219bb965c48911c (commit)
via b90e1d10b1063fd608f1694f920f43e512a1ceeb (commit)
via bae995413d339978c7e9469fccd4821965189431 (commit)
via d64520a086ec2e7cb585e9c1c730f50c5bd81114 (commit)
via dd6bc97ae5230e4dc83aabd2f3d5373157cceb67 (commit)
via 2c5d2a6d1156a39707319d7525b00d45ec8e81c3 (commit)
via 4c64c21580219232ff87b0b17db828c1658851aa (commit)
via 623ae3d5cee26f2c952d05653445cb97b0b4af7b (commit)
via f694eca0dcc0c747cf7e1adab0340df79a6769cf (commit)
via a9afa8d4d90ae3744a66528b72bfa98f987d7ff2 (commit)
via 911169d7943cb84a21e45631d93b1c382c4c14da (commit)
via e1761827d91aa86389112c735eb287c64583758b (commit)
via d507e815a32df03d81b2e4eaa445a7d55dfd496e (commit)
from d74581f6fee747037e18a7d46430827710d1200c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3a10a363dc8a4358ace228620a1e3cdc185f459e
Merge: 410c172ed a9afa8d4d
Author: Nate Bargmann <n0...@n0...>
Date: Sat Sep 13 15:01:40 2025 -0500
Merge GitHub PR #1902
commit 410c172ed67da2dd3b9b001df524698e05d72805
Author: Nate Bargmann <n0...@n0...>
Date: Fri Sep 12 18:13:40 2025 -0500
First cut at MacOS workflows with tar'd artifacts
Unfortunately, unlike with Ubuntu, MacOS is not available in act, so
these are not tested until they get pushed to master on GitHub.
The objective of these files is to generate a tarball of all build
artifacts so that a build failure can be more fully investigated. I ran
out of time to figure out how to come up with a way to have unique tar
file names. Separate files will do for now.
diff --git a/.github/workflows/macos-latest-features.yml b/.github/workflows/macos-latest-features.yml
new file mode 100644
index 000000000..184cd675a
--- /dev/null
+++ b/.github/workflows/macos-latest-features.yml
@@ -0,0 +1,64 @@
+name: MacOS latest C/C++ (features)
+
+on:
+ push:
+ branches: [ master, feature/* ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [macos-latest]
+ configure_args:
+ - >-
+ --enable-html-matrix=yes
+ --enable-parallel=yes
+ --enable-pytest=yes
+ --enable-shared=yes
+ --enable-silent-rules
+ --enable-static=yes
+ --enable-usrp=no
+ --enable-winradio=yes
+ --with-cxx-binding=yes
+ --with-indi=yes
+ --with-libusb=yes
+ --with-lua-binding=yes
+ --with-perl-binding=yes
+ --with-python-binding=yes
+ --with-readline=yes
+ --with-tcl-binding=yes
+ --with-xml-support=yes
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install dependencies on MacOS
+ run: |
+ brew install autoconf
+ brew install automake
+ brew install libnova
+ brew install libtool
+ brew install grep
+ brew install swig
+ brew install tcl-tk
+ - name: bootstrap
+ run: |
+ pwd
+ ./bootstrap
+ - name: Suppress -Winitializer-overrides on MacOS
+ run: |
+ export CFLAGS="$CFLAGS -Wno-initializer-overrides"
+ export CXXFLAGS="$CXXFLAGS -Wno-initializer-overrides"
+ - name: configure on MacOS
+ run: ./configure ${{ matrix.configure_args }} --with-indi=detect --without-lua-binding PYTHON=/opt/homebrew/bin/python3
+ - name: make distcheck
+ run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --with-indi=detect --without-perl-binding --without-lua-binding --without-tcl-binding PYTHON=/opt/homebrew/bin/python3"
+ - name: 'tar files'
+ run: tar -cvf macos_latest_features.tar $(pwd)
+ - name: 'Upload Build Artifact'
+ uses: actions/upload-artifact@v4.6.2
+ with:
+ name: 'Macos_latest_features'
+ path: macos_latest_features.tar
diff --git a/.github/workflows/macos-latest-no-features.yml b/.github/workflows/macos-latest-no-features.yml
new file mode 100644
index 000000000..0b6570acc
--- /dev/null
+++ b/.github/workflows/macos-latest-no-features.yml
@@ -0,0 +1,64 @@
+name: MacOS latest C/C++ (no features)
+
+on:
+ push:
+ branches: [ master, feature/* ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [macos-latest]
+ configure_args:
+ - >-
+ --enable-html-matrix=no
+ --enable-parallel=no
+ --enable-pytest=no
+ --enable-shared=yes
+ --enable-silent-rules
+ --enable-static=yes
+ --enable-usrp=no
+ --enable-winradio=no
+ --with-cxx-binding=no
+ --with-indi=no
+ --with-libusb=no
+ --with-lua-binding=no
+ --with-perl-binding=no
+ --with-python-binding=no
+ --with-readline=no
+ --with-tcl-binding=no
+ --with-xml-support=no
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install dependencies on MacOS
+ run: |
+ brew install autoconf
+ brew install automake
+ brew install libnova
+ brew install libtool
+ brew install grep
+ brew install swig
+ brew install tcl-tk
+ - name: bootstrap
+ run: |
+ pwd
+ ./bootstrap
+ - name: Suppress -Winitializer-overrides on MacOS
+ run: |
+ export CFLAGS="$CFLAGS -Wno-initializer-overrides"
+ export CXXFLAGS="$CXXFLAGS -Wno-initializer-overrides"
+ - name: configure on MacOS
+ run: ./configure ${{ matrix.configure_args }} --with-indi=detect --without-lua-binding PYTHON=/opt/homebrew/bin/python3
+ - name: make distcheck
+ run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --with-indi=detect --without-perl-binding --without-lua-binding --without-tcl-binding PYTHON=/opt/homebrew/bin/python3"
+ - name: 'tar files'
+ run: tar -cvf macos_latest_no_features.tar $(pwd)
+ - name: 'Upload Build Artifact'
+ uses: actions/upload-artifact@v4.6.2
+ with:
+ name: 'Macos_latest_no_features'
+ path: macos_latest_no_features.tar
commit 85bd4882dd2ea8f9fc398b440219bb965c48911c
Author: Nate Bargmann <n0...@n0...>
Date: Fri Sep 12 17:00:24 2025 -0500
Add the Ubuntu workflow with all features enabled.
Perhaps this can be merged with the no-features variant once a way to
give unique names to the resulting tar files is configured.
diff --git a/.github/workflows/ubuntu-latest-features.yml b/.github/workflows/ubuntu-latest-features.yml
new file mode 100644
index 000000000..421b04d9e
--- /dev/null
+++ b/.github/workflows/ubuntu-latest-features.yml
@@ -0,0 +1,62 @@
+name: Ubuntu latest C/C++ (features)
+
+on:
+ push:
+ branches: [ master, feature/* ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest]
+ configure_args:
+ - >-
+ --enable-html-matrix=yes
+ --enable-parallel=yes
+ --enable-pytest=yes
+ --enable-shared=yes
+ --enable-silent-rules
+ --enable-static=yes
+ --enable-usrp=no
+ --enable-winradio=yes
+ --with-cxx-binding=yes
+ --with-indi=yes
+ --with-libusb=yes
+ --with-lua-binding=yes
+ --with-perl-binding=yes
+ --with-python-binding=yes
+ --with-readline=yes
+ --with-tcl-binding=yes
+ --with-xml-support=yes
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install dependencies on Ubuntu latest
+ run: |
+ sudo apt update
+ sudo apt -y install libusb-1.0-0-dev
+ sudo apt -y install libgd-dev
+ sudo apt -y install libgpiod-dev
+ sudo apt -y install libindi-dev libnova-dev
+ sudo apt -y install grep
+ sudo apt -y install python3-dev python3-pytest
+ sudo apt -y install lua5.4 liblua5.4-dev libperl-dev tcl-dev
+ sudo apt -y install swig
+ - name: bootstrap
+ run: |
+ pwd
+ ./bootstrap
+ - name: configure
+ run: ./configure ${{ matrix.configure_args }}
+ - name: make distcheck
+ run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --without-perl-binding"
+ - name: 'tar files'
+ run: tar -cvf ubuntu_latest_features.tar $(pwd)
+ - name: 'Upload Build Artifact'
+ uses: actions/upload-artifact@v4.6.2
+ with:
+ name: 'Ubuntu_latest_features'
+ path: ubuntu_latest_features.tar
commit b90e1d10b1063fd608f1694f920f43e512a1ceeb
Author: Nate Bargmann <n0...@n0...>
Date: Fri Sep 12 16:51:09 2025 -0500
Need to add '-y' to apt commands in images used by act
Using act to locally test workflow runs downloads a Ubuntu image that
is not configured to assume "yes" to apt commands. While this is extra
clutter for the GitHub image, its presence should be useful for others
want to locally test the workflow using act.
https://github.com/nektos/act
diff --git a/.github/workflows/ubuntu-latest-no-features.yml b/.github/workflows/ubuntu-latest-no-features.yml
index 38f0b908f..44539e455 100644
--- a/.github/workflows/ubuntu-latest-no-features.yml
+++ b/.github/workflows/ubuntu-latest-no-features.yml
@@ -37,25 +37,23 @@ jobs:
- name: Install dependencies on Ubuntu latest
run: |
sudo apt update
- sudo apt install libusb-1.0-0-dev
- sudo apt install libgd-dev
- sudo apt install libgpiod-dev
- sudo apt install libindi-dev libnova-dev
- sudo apt install grep
- sudo apt install python3-dev python3-pytest
- sudo apt install lua5.4 liblua5.4-dev libperl-dev tcl-dev
+ sudo apt -y install libusb-1.0-0-dev
+ sudo apt -y install libgd-dev
+ sudo apt -y install libgpiod-dev
+ sudo apt -y install libindi-dev libnova-dev
+ sudo apt -y install grep
+ sudo apt -y install python3-dev python3-pytest
+ sudo apt -y install lua5.4 liblua5.4-dev libperl-dev tcl-dev
- name: bootstrap
run: |
pwd
./bootstrap
- name: configure
run: ./configure ${{ matrix.configure_args }}
- - name: make
- run: make -j 4 V=0 --no-print-directory
- name: make distcheck
- run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }}"
+ run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --without-perl-binding"
- name: 'tar files'
- run: tar -cvf ubuntu_latest_no_features.tar /home/runner/work/Hamlib/Hamlib
+ run: tar -cvf ubuntu_latest_no_features.tar $(pwd)
- name: 'Upload Build Artifact'
uses: actions/upload-artifact@v4.6.2
with:
commit bae995413d339978c7e9469fccd4821965189431
Author: Nate Bargmann <n0...@n0...>
Date: Wed Sep 10 14:22:49 2025 -0500
Try to fix the tar upload failure
diff --git a/.github/workflows/ubuntu-latest-no-features.yml b/.github/workflows/ubuntu-latest-no-features.yml
index 380f1b92a..38f0b908f 100644
--- a/.github/workflows/ubuntu-latest-no-features.yml
+++ b/.github/workflows/ubuntu-latest-no-features.yml
@@ -48,18 +48,16 @@ jobs:
run: |
pwd
./bootstrap
- - name: README Debug
- run: grep README Makefile.am
- name: configure
run: ./configure ${{ matrix.configure_args }}
- name: make
run: make -j 4 V=0 --no-print-directory
- name: make distcheck
run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }}"
- - name: 'Tar files'
- run: tar -cvf ubuntu_latest_no_features.tar .
- - name: 'Upload Build Artifacts'
+ - name: 'tar files'
+ run: tar -cvf ubuntu_latest_no_features.tar /home/runner/work/Hamlib/Hamlib
+ - name: 'Upload Build Artifact'
uses: actions/upload-artifact@v4.6.2
with:
name: 'Ubuntu_latest_no_features'
- path: Hamlib
+ path: ubuntu_latest_no_features.tar
commit d64520a086ec2e7cb585e9c1c730f50c5bd81114
Author: Nate Bargmann <n0...@n0...>
Date: Wed Sep 10 14:06:16 2025 -0500
Try again
diff --git a/.github/workflows/ubuntu-latest-no-features.yml b/.github/workflows/ubuntu-latest-no-features.yml
index 2e91a7f6b..380f1b92a 100644
--- a/.github/workflows/ubuntu-latest-no-features.yml
+++ b/.github/workflows/ubuntu-latest-no-features.yml
@@ -11,7 +11,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: ubuntu-latest
+ os: [ubuntu-latest]
configure_args:
- >-
--enable-html-matrix=no
commit dd6bc97ae5230e4dc83aabd2f3d5373157cceb67
Author: Nate Bargmann <n0...@n0...>
Date: Wed Sep 10 14:05:02 2025 -0500
One more try...
diff --git a/.github/workflows/ubuntu-latest-no-features.yml b/.github/workflows/ubuntu-latest-no-features.yml
index ee4ff15e0..2e91a7f6b 100644
--- a/.github/workflows/ubuntu-latest-no-features.yml
+++ b/.github/workflows/ubuntu-latest-no-features.yml
@@ -8,7 +8,29 @@ on:
jobs:
build:
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: ubuntu-latest
+ configure_args:
+ - >-
+ --enable-html-matrix=no
+ --enable-parallel=no
+ --enable-pytest=no
+ --enable-shared=yes
+ --enable-silent-rules
+ --enable-static=yes
+ --enable-usrp=no
+ --enable-winradio=no
+ --with-cxx-binding=no
+ --with-indi=no
+ --with-libusb=no
+ --with-lua-binding=no
+ --with-perl-binding=no
+ --with-python-binding=no
+ --with-readline=no
+ --with-tcl-binding=no
+ --with-xml-support=no
steps:
- uses: actions/checkout@v4
@@ -22,27 +44,6 @@ jobs:
sudo apt install grep
sudo apt install python3-dev python3-pytest
sudo apt install lua5.4 liblua5.4-dev libperl-dev tcl-dev
- - name: Set configure arguments
- - run: >-
- --enable-html-matrix=no
- --enable-parallel=no
- --enable-pytest=no
- --enable-shared=yes
- --enable-silent-rules
- --enable-static=yes
- --enable-usrp=no
- --enable-winradio=no
- --with-cxx-binding=no
- --with-indi=no
- --with-libusb=no
- --with-lua-binding=no
- --with-perl-binding=no
- --with-python-binding=no
- --with-readline=no
- --with-tcl-binding=no
- --with-xml-support=no
- - id: configure_args
-
- name: bootstrap
run: |
pwd
@@ -50,11 +51,11 @@ jobs:
- name: README Debug
run: grep README Makefile.am
- name: configure
- run: ./configure ${{ configure_args }}
+ run: ./configure ${{ matrix.configure_args }}
- name: make
run: make -j 4 V=0 --no-print-directory
- name: make distcheck
- run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ configure_args }}"
+ run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }}"
- name: 'Tar files'
run: tar -cvf ubuntu_latest_no_features.tar .
- name: 'Upload Build Artifacts'
commit 2c5d2a6d1156a39707319d7525b00d45ec8e81c3
Author: Nate Bargmann <n0...@n0...>
Date: Wed Sep 10 13:52:24 2025 -0500
Update ubuntu-latest-no-features.yml
Move configure_args into the "steps" section per https://trstringer.com/github-actions-multiline-strings/
diff --git a/.github/workflows/ubuntu-latest-no-features.yml b/.github/workflows/ubuntu-latest-no-features.yml
index 5611206ec..ee4ff15e0 100644
--- a/.github/workflows/ubuntu-latest-no-features.yml
+++ b/.github/workflows/ubuntu-latest-no-features.yml
@@ -9,25 +9,6 @@ on:
jobs:
build:
runs-on: ubuntu-latest
- configure_args:
- - >-
- --enable-html-matrix=no
- --enable-parallel=no
- --enable-pytest=no
- --enable-shared=yes
- --enable-silent-rules
- --enable-static=yes
- --enable-usrp=no
- --enable-winradio=no
- --with-cxx-binding=no
- --with-indi=no
- --with-libusb=no
- --with-lua-binding=no
- --with-perl-binding=no
- --with-python-binding=no
- --with-readline=no
- --with-tcl-binding=no
- --with-xml-support=no
steps:
- uses: actions/checkout@v4
@@ -41,6 +22,27 @@ jobs:
sudo apt install grep
sudo apt install python3-dev python3-pytest
sudo apt install lua5.4 liblua5.4-dev libperl-dev tcl-dev
+ - name: Set configure arguments
+ - run: >-
+ --enable-html-matrix=no
+ --enable-parallel=no
+ --enable-pytest=no
+ --enable-shared=yes
+ --enable-silent-rules
+ --enable-static=yes
+ --enable-usrp=no
+ --enable-winradio=no
+ --with-cxx-binding=no
+ --with-indi=no
+ --with-libusb=no
+ --with-lua-binding=no
+ --with-perl-binding=no
+ --with-python-binding=no
+ --with-readline=no
+ --with-tcl-binding=no
+ --with-xml-support=no
+ - id: configure_args
+
- name: bootstrap
run: |
pwd
commit 4c64c21580219232ff87b0b17db828c1658851aa
Author: Nate Bargmann <n0...@n0...>
Date: Wed Sep 10 13:38:38 2025 -0500
Break out Ubuntu latest to a "no feature" workflow
diff --git a/.github/workflows/ubuntu-latest-no-features.yml b/.github/workflows/ubuntu-latest-no-features.yml
new file mode 100644
index 000000000..5611206ec
--- /dev/null
+++ b/.github/workflows/ubuntu-latest-no-features.yml
@@ -0,0 +1,62 @@
+name: Ubuntu latest C/C++ (no features)
+
+on:
+ push:
+ branches: [ master, feature/* ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ configure_args:
+ - >-
+ --enable-html-matrix=no
+ --enable-parallel=no
+ --enable-pytest=no
+ --enable-shared=yes
+ --enable-silent-rules
+ --enable-static=yes
+ --enable-usrp=no
+ --enable-winradio=no
+ --with-cxx-binding=no
+ --with-indi=no
+ --with-libusb=no
+ --with-lua-binding=no
+ --with-perl-binding=no
+ --with-python-binding=no
+ --with-readline=no
+ --with-tcl-binding=no
+ --with-xml-support=no
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install dependencies on Ubuntu latest
+ run: |
+ sudo apt update
+ sudo apt install libusb-1.0-0-dev
+ sudo apt install libgd-dev
+ sudo apt install libgpiod-dev
+ sudo apt install libindi-dev libnova-dev
+ sudo apt install grep
+ sudo apt install python3-dev python3-pytest
+ sudo apt install lua5.4 liblua5.4-dev libperl-dev tcl-dev
+ - name: bootstrap
+ run: |
+ pwd
+ ./bootstrap
+ - name: README Debug
+ run: grep README Makefile.am
+ - name: configure
+ run: ./configure ${{ configure_args }}
+ - name: make
+ run: make -j 4 V=0 --no-print-directory
+ - name: make distcheck
+ run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ configure_args }}"
+ - name: 'Tar files'
+ run: tar -cvf ubuntu_latest_no_features.tar .
+ - name: 'Upload Build Artifacts'
+ uses: actions/upload-artifact@v4.6.2
+ with:
+ name: 'Ubuntu_latest_no_features'
+ path: Hamlib
diff --git a/.github/workflows/ubuntu-latest.yml b/.github/workflows/ubuntu-latest.yml
deleted file mode 100644
index c0c269bff..000000000
--- a/.github/workflows/ubuntu-latest.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: C/C++ CI on Ubuntu latest
-
-on:
- push:
- branches: [ master, feature/* ]
- pull_request:
- branches: [ master ]
-
-jobs:
- build:
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest]
- configure_args:
- - >-
- --enable-html-matrix=no
- --enable-parallel=no
- --enable-pytest=no
- --enable-shared=yes
- --enable-silent-rules
- --enable-static=yes
- --enable-usrp=no
- --enable-winradio=no
- --with-cxx-binding=no
- --with-indi=no
- --with-libusb=no
- --with-lua-binding=no
- --with-perl-binding=no
- --with-python-binding=no
- --with-readline=no
- --with-tcl-binding=no
- --with-xml-support=no
- - >-
- --enable-html-matrix=yes
- --enable-parallel=yes
- --enable-pytest=yes
- --enable-shared=yes
- --enable-silent-rules
- --enable-static=yes
- --enable-usrp=no
- --enable-winradio=yes
- --with-cxx-binding=yes
- --with-indi=yes
- --with-libusb=yes
- --with-lua-binding=yes
- --with-perl-binding=yes
- --with-python-binding=yes
- --with-readline=yes
- --with-tcl-binding=yes
- --with-xml-support=yes
-
- steps:
- - uses: actions/checkout@v4
- - name: Install dependencies on Ubuntu latest
- run: |
- sudo apt update
- sudo apt install libusb-1.0-0-dev
- sudo apt install libgd-dev
- sudo apt install libgpiod-dev
- sudo apt install libindi-dev libnova-dev
- sudo apt install grep
- sudo apt install python3-dev python3-pytest
- sudo apt install lua5.4 liblua5.4-dev libperl-dev tcl-dev
- - name: bootstrap
- run: |
- pwd
- ./bootstrap
- - name: README Debug
- run: grep README Makefile.am
- - name: configure
- run: ./configure ${{ matrix.configure_args }}
- - name: make
- run: make -j 4 V=0 --no-print-directory
- - name: make distcheck
- run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --without-perl-binding"
- - name: 'Tar files'
- run: tar -cvf hamlib_artifacts /home/runner/work/Hamlib/Hamlib
- - name: 'Upload Build Artifacts'
- uses: actions/upload-artifact@v4.6.2
- with:
- name: 'Hamlib build artifacts'
- path: hamlib_artifacts
commit 623ae3d5cee26f2c952d05653445cb97b0b4af7b
Author: Nate Bargmann <n0...@n0...>
Date: Wed Sep 10 09:54:05 2025 -0500
Fix 'path' indentation
diff --git a/.github/workflows/ubuntu-latest.yml b/.github/workflows/ubuntu-latest.yml
index 87a6b409b..c0c269bff 100644
--- a/.github/workflows/ubuntu-latest.yml
+++ b/.github/workflows/ubuntu-latest.yml
@@ -80,5 +80,4 @@ jobs:
uses: actions/upload-artifact@v4.6.2
with:
name: 'Hamlib build artifacts'
- path: hamlib_artifacts
-
+ path: hamlib_artifacts
commit f694eca0dcc0c747cf7e1adab0340df79a6769cf
Author: Nate Bargmann <n0...@n0...>
Date: Wed Sep 10 08:55:31 2025 -0500
First cut at separating CIs with Ubuntu latest
Includes runs without and with language bindings.
Should create a build artifact tar file.
References GitHub issue #1870.
diff --git a/.github/workflows/ubuntu-latest.yml b/.github/workflows/ubuntu-latest.yml
new file mode 100644
index 000000000..87a6b409b
--- /dev/null
+++ b/.github/workflows/ubuntu-latest.yml
@@ -0,0 +1,84 @@
+name: C/C++ CI on Ubuntu latest
+
+on:
+ push:
+ branches: [ master, feature/* ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest]
+ configure_args:
+ - >-
+ --enable-html-matrix=no
+ --enable-parallel=no
+ --enable-pytest=no
+ --enable-shared=yes
+ --enable-silent-rules
+ --enable-static=yes
+ --enable-usrp=no
+ --enable-winradio=no
+ --with-cxx-binding=no
+ --with-indi=no
+ --with-libusb=no
+ --with-lua-binding=no
+ --with-perl-binding=no
+ --with-python-binding=no
+ --with-readline=no
+ --with-tcl-binding=no
+ --with-xml-support=no
+ - >-
+ --enable-html-matrix=yes
+ --enable-parallel=yes
+ --enable-pytest=yes
+ --enable-shared=yes
+ --enable-silent-rules
+ --enable-static=yes
+ --enable-usrp=no
+ --enable-winradio=yes
+ --with-cxx-binding=yes
+ --with-indi=yes
+ --with-libusb=yes
+ --with-lua-binding=yes
+ --with-perl-binding=yes
+ --with-python-binding=yes
+ --with-readline=yes
+ --with-tcl-binding=yes
+ --with-xml-support=yes
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install dependencies on Ubuntu latest
+ run: |
+ sudo apt update
+ sudo apt install libusb-1.0-0-dev
+ sudo apt install libgd-dev
+ sudo apt install libgpiod-dev
+ sudo apt install libindi-dev libnova-dev
+ sudo apt install grep
+ sudo apt install python3-dev python3-pytest
+ sudo apt install lua5.4 liblua5.4-dev libperl-dev tcl-dev
+ - name: bootstrap
+ run: |
+ pwd
+ ./bootstrap
+ - name: README Debug
+ run: grep README Makefile.am
+ - name: configure
+ run: ./configure ${{ matrix.configure_args }}
+ - name: make
+ run: make -j 4 V=0 --no-print-directory
+ - name: make distcheck
+ run: make distcheck V=0 --no-print-directory AM_DISTCHECK_CONFIGURE_FLAGS="${{ matrix.configure_args }} --without-perl-binding"
+ - name: 'Tar files'
+ run: tar -cvf hamlib_artifacts /home/runner/work/Hamlib/Hamlib
+ - name: 'Upload Build Artifacts'
+ uses: actions/upload-artifact@v4.6.2
+ with:
+ name: 'Hamlib build artifacts'
+ path: hamlib_artifacts
+
commit a9afa8d4d90ae3744a66528b72bfa98f987d7ff2
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Sep 6 12:01:26 2025 +0200
Handle --rot-file and --serial_speed in bindings tests
This allow to run the tests for a specific model, eg.
PYTHONPATH=bindings/:bindings/.libs bindings/python/test_rot.py --model 2
diff --git a/bindings/python/conftest.py b/bindings/python/conftest.py
index c664bc1b6..713616236 100644
--- a/bindings/python/conftest.py
+++ b/bindings/python/conftest.py
@@ -43,6 +43,10 @@ def amp_file(request):
def rig_file(request):
return request.config.getoption("--rig-file")
+@pytest.fixture
+def rot_file(request):
+ return request.config.getoption("--rot-file")
+
@pytest.fixture
def serial_speed(request):
return request.config.getoption("--serial-speed")
diff --git a/bindings/python/test_rot.py b/bindings/python/test_rot.py
index 73cce79af..3e0b5c292 100755
--- a/bindings/python/test_rot.py
+++ b/bindings/python/test_rot.py
@@ -5,6 +5,7 @@ Running this script directly will use the installed bindings.
For an in-tree run use "make check", or set PYTHONPATH to point to
the directories containing Hamlib.py and _Hamlib.so.
"""
+import pytest
from pytest import raises
import Hamlib
@@ -49,12 +50,18 @@ class TestClass:
assert rot.token_lookup("") is None
- def test_with_open(self, model):
+ @pytest.mark.skipif('config.getoption("model") != Hamlib.ROT_MODEL_DUMMY')
+ def test_with_open(self, model, rot_file, serial_speed):
"""Call all the methods that depend on open()"""
rot = Hamlib.Rot(model)
assert rot is not None
assert rot.state.comm_state == 0
+ # first try a known string because rot_file is None during "make check"
+ assert rot.set_conf("rot_pathname", "foo") is None
+ assert rot.get_conf("rot_pathname") == "foo"
+ assert rot.set_conf("rot_pathname", rot_file) is None
+ assert rot.set_conf("serial_speed", str(serial_speed)) is None
assert rot.open() is None
assert rot.state.comm_state == 1
info = rot.get_info()
@@ -108,6 +115,7 @@ class TestClass:
assert info is None
+ @pytest.mark.skipif('config.getoption("model") != Hamlib.ROT_MODEL_DUMMY')
def test_object_creation(self, model):
"""Create all objects available"""
rot = Hamlib.Rig(model)
commit 911169d7943cb84a21e45631d93b1c382c4c14da
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Sep 6 09:06:24 2025 +0200
Handle --amp-file and --serial_speed in bindings tests
This allow to run the tests for a specific model, eg.
PYTHONPATH=bindings/:bindings/.libs bindings/python/test_amp.py --model 2
diff --git a/bindings/python/conftest.py b/bindings/python/conftest.py
index 9ce2517cd..c664bc1b6 100644
--- a/bindings/python/conftest.py
+++ b/bindings/python/conftest.py
@@ -35,6 +35,10 @@ def pytest_addoption(parser):
def model(request):
return request.config.getoption("--model")
+@pytest.fixture
+def amp_file(request):
+ return request.config.getoption("--amp-file")
+
@pytest.fixture
def rig_file(request):
return request.config.getoption("--rig-file")
diff --git a/bindings/python/test_amp.py b/bindings/python/test_amp.py
index 4f8608761..f5eeef872 100755
--- a/bindings/python/test_amp.py
+++ b/bindings/python/test_amp.py
@@ -5,6 +5,8 @@ Running this script directly will use the installed bindings.
For an in-tree run use "make check", or set PYTHONPATH to point to
the directories containing Hamlib.py and _Hamlib.so.
"""
+import pytest
+
import Hamlib
Hamlib.rig_set_debug(Hamlib.RIG_DEBUG_NONE)
@@ -40,12 +42,18 @@ class TestClass:
assert amp.token_lookup("") is None
- def test_with_open(self, model):
+ @pytest.mark.skipif('config.getoption("model") != Hamlib.AMP_MODEL_DUMMY')
+ def test_with_open(self, model, amp_file, serial_speed):
"""Call all the methods that depend on open()"""
amp = Hamlib.Amp(model)
assert amp is not None
assert amp.state.comm_state == 0
+ # first try a known string because amp_file is None during "make check"
+ assert amp.set_conf("amp_pathname", "foo") is None
+ assert amp.get_conf("amp_pathname") == "foo"
+ assert amp.set_conf("amp_pathname", amp_file) is None
+ assert amp.set_conf("serial_speed", str(serial_speed)) is None
assert amp.open() is None
assert amp.state.comm_state == 1
info = amp.get_info()
@@ -72,6 +80,7 @@ class TestClass:
assert info is None
+ @pytest.mark.skipif('config.getoption("model") != Hamlib.AMP_MODEL_DUMMY')
def test_object_creation(self, model):
"""Create all objects available"""
amp = Hamlib.Rig(model)
commit e1761827d91aa86389112c735eb287c64583758b
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue Sep 9 19:30:37 2025 +0200
Fix handling of command line parameters for pytests
diff --git a/bindings/python/conftest.py b/bindings/python/conftest.py
index a91d7684d..9ce2517cd 100644
--- a/bindings/python/conftest.py
+++ b/bindings/python/conftest.py
@@ -10,7 +10,7 @@ def pytest_addoption(parser):
metavar='ID', help='select amplifier model number')
parser.addoption('--amp-file', default=None,
metavar='DEVICE', help='set device of the amplifier to operate on')
- if sys.argv[1].endswith("rig.py"):
+ elif sys.argv[1].endswith("rig.py"):
parser.addoption('--model', type=int, default=1,
metavar='ID', help='select radio model number')
parser.addoption('--rig-file', default=None,
commit d507e815a32df03d81b2e4eaa445a7d55dfd496e
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Sep 6 09:16:00 2025 +0200
Also check the "val" parameter in amp_set_conf() and rot_set_conf()
Avoids a segfault in lower level functions that can more easily
happen when using the bindings.
Simmetric with amp_get_conf() via amp_get_conf2() and rot_get_conf()
via rot_get_conf2().
This is a followup of commit ede84bfce41bf8da3dafea7c585666259a5e4b71
that made the same change to conf.c
diff --git a/src/amp_conf.c b/src/amp_conf.c
index 481786b3f..d60496412 100644
--- a/src/amp_conf.c
+++ b/src/amp_conf.c
@@ -683,7 +683,7 @@ int HAMLIB_API amp_set_conf(AMP *amp, hamlib_token_t token, const char *val)
{
amp_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
- if (!amp || !amp->caps)
+ if (!amp || !amp->caps || !val)
{
return -RIG_EINVAL;
}
diff --git a/src/rot_conf.c b/src/rot_conf.c
index 5f204aed7..008a8f048 100644
--- a/src/rot_conf.c
+++ b/src/rot_conf.c
@@ -748,7 +748,7 @@ int HAMLIB_API rot_set_conf(ROT *rot, hamlib_token_t token, const char *val)
{
rot_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
- if (!rot || !rot->caps)
+ if (!rot || !rot->caps || !val)
{
return -RIG_EINVAL;
}
-----------------------------------------------------------------------
Summary of changes:
.github/workflows/macos-latest-features.yml | 64 +++++++++++++++++++++++++
.github/workflows/macos-latest-no-features.yml | 64 +++++++++++++++++++++++++
.github/workflows/ubuntu-latest-features.yml | 62 ++++++++++++++++++++++++
.github/workflows/ubuntu-latest-no-features.yml | 61 +++++++++++++++++++++++
bindings/python/conftest.py | 10 +++-
bindings/python/test_amp.py | 11 ++++-
bindings/python/test_rot.py | 10 +++-
src/amp_conf.c | 2 +-
src/rot_conf.c | 2 +-
9 files changed, 281 insertions(+), 5 deletions(-)
create mode 100644 .github/workflows/macos-latest-features.yml
create mode 100644 .github/workflows/macos-latest-no-features.yml
create mode 100644 .github/workflows/ubuntu-latest-features.yml
create mode 100644 .github/workflows/ubuntu-latest-no-features.yml
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|