From 9ebace29bca2534e45408ab508885750d37a2349 Mon Sep 17 00:00:00 2001 From: dmccoystephenson Date: Wed, 10 Sep 2025 10:21:57 -0600 Subject: [PATCH 1/7] docker: remove unnecessary asn1c build steps from Dockerfiles --- Dockerfile | 12 ------------ Dockerfile.amazonlinux | 4 ---- Dockerfile.debug | 12 ------------ Dockerfile.dev | 12 ------------ Dockerfile.standalone | 12 ------------ Dockerfile.testing | 12 ------------ 6 files changed, 64 deletions(-) diff --git a/Dockerfile b/Dockerfile index b2cb713c..121dc5ff 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,22 +14,10 @@ RUN apk add --upgrade --no-cache --virtual .build-deps \ librdkafka-dev \ asio-dev -# Dependencies that are not needed if asn1c is not installed in the build container: -# libtool -# automake -# autoconf -# bison -# flex - # Install pugixml ADD ./pugixml /asn1_codec/pugixml RUN cd /asn1_codec/pugixml && mkdir -p build && cd build && cmake .. && make && make install -# The codec C files are pre-generated manually so it isn't necessary to build asn1c in the container -# # Build and install asn1c submodule -# ADD ./usdot-asn1c /asn1_codec/asn1c -# RUN cd asn1c && test -f configure || autoreconf -iv && ./configure && make && make install - # Make generated files available to the build & compile example RUN export LD_LIBRARY_PATH=/usr/local/lib ADD ./asn1c_combined /asn1_codec/asn1c_combined diff --git a/Dockerfile.amazonlinux b/Dockerfile.amazonlinux index 7a2ee0b7..8eda7df8 100644 --- a/Dockerfile.amazonlinux +++ b/Dockerfile.amazonlinux @@ -19,10 +19,6 @@ RUN dnf --enablerepo=fedora install asio-devel -y ADD ./pugixml /asn1_codec/pugixml RUN cd /asn1_codec/pugixml && mkdir -p build && cd build && cmake .. && make && make install -# Don't need to build and install asn1c submodule -# ADD ./asn1_codec/usdot-asn1c /asn1_codec/asn1c -# RUN cd asn1c && test -f configure || autoreconf -iv && ./configure && make && make install - # Make generated files available to the build & compile example RUN export LD_LIBRARY_PATH=/usr/local/lib ADD ./asn1c_combined /asn1_codec/asn1c_combined diff --git a/Dockerfile.debug b/Dockerfile.debug index d1ea3075..eed2ecd9 100644 --- a/Dockerfile.debug +++ b/Dockerfile.debug @@ -14,22 +14,10 @@ RUN apk add --upgrade --no-cache --virtual .build-deps \ librdkafka-dev \ asio-dev -# Dependencies that are not needed if asn1c is not installed in the build container: -# libtool -# automake -# autoconf -# bison -# flex - # Install pugixml ADD ./pugixml /asn1_codec/pugixml RUN cd /asn1_codec/pugixml && mkdir -p build && cd build && cmake .. && make && make install -# The codec C files are pre-generated manually so it isn't necessary to build asn1c in the container -# # Build and install asn1c submodule -# ADD ./usdot-asn1c /asn1_codec/asn1c -# RUN cd asn1c && test -f configure || autoreconf -iv && ./configure && make && make install - # Make generated files available to the build & compile example RUN export LD_LIBRARY_PATH=/usr/local/lib ADD ./asn1c_combined /asn1_codec/asn1c_combined diff --git a/Dockerfile.dev b/Dockerfile.dev index c522d5b9..3850a0dd 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -14,22 +14,10 @@ RUN apk add --upgrade --no-cache --virtual .build-deps \ librdkafka-dev \ asio-dev -# Dependencies that are not needed if asn1c is not installed in the build container: -# libtool -# automake -# autoconf -# bison -# flex - # Install pugixml ADD ./pugixml /asn1_codec/pugixml RUN cd /asn1_codec/pugixml && mkdir -p build && cd build && cmake .. && make && make install -# The codec C files are pre-generated manually so it isn't necessary to build asn1c in the container -# # Build and install asn1c submodule -# ADD ./usdot-asn1c /asn1_codec/asn1c -# RUN cd asn1c && test -f configure || autoreconf -iv && ./configure && make && make install - # Make generated files available to the build & compile example RUN export LD_LIBRARY_PATH=/usr/local/lib ADD ./asn1c_combined /asn1_codec/asn1c_combined diff --git a/Dockerfile.standalone b/Dockerfile.standalone index ca3a67c7..dcb47f5c 100644 --- a/Dockerfile.standalone +++ b/Dockerfile.standalone @@ -13,22 +13,10 @@ RUN apk add --upgrade --no-cache --virtual .build-deps \ librdkafka-dev \ asio-dev -# Dependencies that are not needed if asn1c is not installed in the build container: -# libtool -# automake -# autoconf -# bison -# flex - # Install pugixml ADD ./pugixml /asn1_codec/pugixml RUN cd /asn1_codec/pugixml && mkdir -p build && cd build && cmake .. && make && make install -# The codec C files are pre-generated manually so it isn't necessary to build asn1c in the container -# # Build and install asn1c submodule -# ADD ./usdot-asn1c /asn1_codec/asn1c -# RUN cd asn1c && test -f configure || autoreconf -iv && ./configure && make && make install - # Make generated files available to the build & compile example RUN export LD_LIBRARY_PATH=/usr/local/lib ADD ./asn1c_combined /asn1_codec/asn1c_combined diff --git a/Dockerfile.testing b/Dockerfile.testing index ad6ed95d..34913b67 100644 --- a/Dockerfile.testing +++ b/Dockerfile.testing @@ -14,22 +14,10 @@ RUN apk add --upgrade --no-cache --virtual .build-deps \ librdkafka-dev \ asio-dev -# Dependencies that are not needed if asn1c is not installed in the build container: -# libtool -# automake -# autoconf -# bison -# flex - # Install pugixml ADD ./pugixml /asn1_codec/pugixml RUN cd /asn1_codec/pugixml && mkdir -p build && cd build && cmake .. && make && make install -# The codec C files are pre-generated manually so it isn't necessary to build asn1c in the container -# # Build and install asn1c submodule -# ADD ./usdot-asn1c /asn1_codec/asn1c -# RUN cd asn1c && test -f configure || autoreconf -iv && ./configure && make && make install - # Make generated files available to the build & compile example RUN export LD_LIBRARY_PATH=/usr/local/lib ADD ./asn1c_combined /asn1_codec/asn1c_combined From 452a4c1275f0784bfd1d3f1c2fc643af5947d7fb Mon Sep 17 00:00:00 2001 From: dmccoystephenson Date: Wed, 10 Sep 2025 13:10:25 -0600 Subject: [PATCH 2/7] ci: add libcurl4-openssl-dev installation to dependencies --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4d47cb9..2927d0a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,6 +22,7 @@ jobs: apt update apt-get -y install sudo wget curl gnupg lsb-release gcovr unzip gcc-multilib libasan* sudo apt-get -y install software-properties-common + sudo apt-get -y install libcurl4-openssl-dev curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose From 61771dbf849baf00726b5e96cca431b775d34407 Mon Sep 17 00:00:00 2001 From: dmccoystephenson Date: Wed, 10 Sep 2025 13:17:34 -0600 Subject: [PATCH 3/7] ci: remove asn1c installation steps from CI workflow --- .github/workflows/ci.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2927d0a5..82743038 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,24 +58,10 @@ jobs: - name: Install pugixml run: | - git clone https://github.com/vlm/asn1c.git git clone https://github.com/zeux/pugixml.git cd ./pugixml && mkdir -p build && cd build && cmake .. && make && make install working-directory: ${{ env.working-directory }} - - name: Build and install asn1c submodule - run: | - sudo apt-get -y install libtool autoconf - cd ./asn1c && aclocal && test -f configure || autoreconf -iv && ./configure && make && make install - working-directory: ${{ env.working-directory }} - - - name: Generate ASN.1 API. - run: | - export LD_LIBRARY_PATH=/usr/local/lib - git clone https://github.com/usdot-jpo-ode/scms-asn1.git - cd ./asn1c_combined && bash doIt.sh - working-directory: ${{ env.working-directory }} - - name: Export environment variables run: | echo "export LD_LIBRARY_PATH=/usr/local/lib" >> ~/.profile From 45690bb2b89a76c680f36f5595981c9e29f6df86 Mon Sep 17 00:00:00 2001 From: dmccoystephenson Date: Wed, 10 Sep 2025 13:22:28 -0600 Subject: [PATCH 4/7] Revert "ci: remove asn1c installation steps from CI workflow" This reverts commit 61771dbf849baf00726b5e96cca431b775d34407. --- .github/workflows/ci.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 82743038..2927d0a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,10 +58,24 @@ jobs: - name: Install pugixml run: | + git clone https://github.com/vlm/asn1c.git git clone https://github.com/zeux/pugixml.git cd ./pugixml && mkdir -p build && cd build && cmake .. && make && make install working-directory: ${{ env.working-directory }} + - name: Build and install asn1c submodule + run: | + sudo apt-get -y install libtool autoconf + cd ./asn1c && aclocal && test -f configure || autoreconf -iv && ./configure && make && make install + working-directory: ${{ env.working-directory }} + + - name: Generate ASN.1 API. + run: | + export LD_LIBRARY_PATH=/usr/local/lib + git clone https://github.com/usdot-jpo-ode/scms-asn1.git + cd ./asn1c_combined && bash doIt.sh + working-directory: ${{ env.working-directory }} + - name: Export environment variables run: | echo "export LD_LIBRARY_PATH=/usr/local/lib" >> ~/.profile From fa1a17c11c4fe087e78cc69ab6c629b0b2e23655 Mon Sep 17 00:00:00 2001 From: dmccoystephenson Date: Wed, 10 Sep 2025 13:25:14 -0600 Subject: [PATCH 5/7] ci: remove asn1c installation steps from CI workflow --- .github/workflows/ci.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2927d0a5..bb6a4563 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,17 +58,10 @@ jobs: - name: Install pugixml run: | - git clone https://github.com/vlm/asn1c.git git clone https://github.com/zeux/pugixml.git cd ./pugixml && mkdir -p build && cd build && cmake .. && make && make install working-directory: ${{ env.working-directory }} - - name: Build and install asn1c submodule - run: | - sudo apt-get -y install libtool autoconf - cd ./asn1c && aclocal && test -f configure || autoreconf -iv && ./configure && make && make install - working-directory: ${{ env.working-directory }} - - name: Generate ASN.1 API. run: | export LD_LIBRARY_PATH=/usr/local/lib From 27737d3bc3664e115696987c9f1ef8138abf1688 Mon Sep 17 00:00:00 2001 From: dmccoystephenson Date: Thu, 11 Sep 2025 10:04:32 -0600 Subject: [PATCH 6/7] ci: rename step to clarify extraction of ASN.1 implementation and header files --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bb6a4563..9aaa21e5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,7 +62,7 @@ jobs: cd ./pugixml && mkdir -p build && cd build && cmake .. && make && make install working-directory: ${{ env.working-directory }} - - name: Generate ASN.1 API. + - name: Extract implementation and header files run: | export LD_LIBRARY_PATH=/usr/local/lib git clone https://github.com/usdot-jpo-ode/scms-asn1.git From 492e9230795083ebd4bd2f72d5121d6e12a52dfa Mon Sep 17 00:00:00 2001 From: dmccoystephenson Date: Thu, 11 Sep 2025 10:04:59 -0600 Subject: [PATCH 7/7] ci: remove git clone step for ASN.1 repository in extraction process --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9aaa21e5..666ffba3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,6 @@ jobs: - name: Extract implementation and header files run: | export LD_LIBRARY_PATH=/usr/local/lib - git clone https://github.com/usdot-jpo-ode/scms-asn1.git cd ./asn1c_combined && bash doIt.sh working-directory: ${{ env.working-directory }}