Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 2 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: This was necessary to get the CI checks to pass.

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
Expand Down Expand Up @@ -57,21 +58,13 @@ jobs:

- name: Install pugixml
run: |
git clone https://github.com/vlm/asn1c.git
git clone https://github.com/zeux/pugixml.git
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question (non-blocking): it's not related to the changes in this PR, but do you know why we're explicitly cloning here and not using git submodule?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if there is a particular reasoning that the original author of ci.yml had, but this does introduce the potential for CI checks to use different versions of git submodule code than the actual repository so it may be a good idea to look into using the existing git submodules present when checking out the asn1_codec files.

cd ./pugixml && mkdir -p build && cd build && cmake .. && make && make install
working-directory: ${{ env.working-directory }}

- name: Build and install asn1c submodule
Comment thread
mcook42 marked this conversation as resolved.
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.
- 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
Copy link
Copy Markdown
Author

@dmccoystephenson dmccoystephenson Sep 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: SCMS files are now tracked directly in the asn1_codec repo so this clone command was unnecessary.

cd ./asn1c_combined && bash doIt.sh
working-directory: ${{ env.working-directory }}

Expand Down
12 changes: 0 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# === BUILDER IMAGE ===
FROM alpine:3.18 as builder

Check warning on line 2 in Dockerfile

View workflow job for this annotation

GitHub Actions / build / build

The 'as' keyword should match the case of the 'from' keyword

FromAsCasing: 'as' and 'FROM' keywords' casing do not match More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/
USER root
WORKDIR /asn1_codec
VOLUME ["/asn1_codec_share"]
Expand All @@ -14,22 +14,10 @@
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
Expand Down
4 changes: 0 additions & 4 deletions Dockerfile.amazonlinux
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 0 additions & 12 deletions Dockerfile.debug
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 0 additions & 12 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 0 additions & 12 deletions Dockerfile.standalone
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 0 additions & 12 deletions Dockerfile.testing
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading