Skip to content

Commit

Permalink
Merge pull request #267 from flaviojs/build-test-linux-x86-with-workflow
Browse files Browse the repository at this point in the history
Build and test a linux-x86 version of dynamips with a github workflow.
  • Loading branch information
grossmj authored Oct 6, 2024
2 parents 7b6f3f7 + 4fc52e5 commit 4623264
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/ci_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,64 @@ jobs:
name: linux-amd64-failure
path: ${{github.workspace}}/build/
compression-level: 9 # maximum compression

# ----------------------------------------------------------------------------------------------
linux-x86:
name: Linux (x86)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup x86 chroot with Alpine Linux and install dependencies
uses: jirutka/setup-alpine@v1
with:
arch: x86
packages: >
build-base
linux-headers
elfutils-dev
libpcap-dev
cmake
- name: Configure with CMake
shell: alpine.sh {0}
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDYNAMIPS_CODE=both -DBUILD_UDP_RECV=ON -DBUILD_UDP_SEND=ON -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/build/install -DCPACK_PACKAGE_FILE_NAME=dynamips-package -DCPACK_GENERATOR=ZIP

- name: Build
shell: alpine.sh {0}
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

- name: Test
shell: alpine.sh {0}
run: |
set -x
cd ${{github.workspace}}/build
ctest --verbose --build-config ${{env.BUILD_TYPE}}
./stable/dynamips -e
./unstable/dynamips_x86_unstable -e
- name: Install
shell: alpine.sh {0}
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target install

- name: Package
shell: alpine.sh {0}
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target package

- name: Upload success
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: linux-x86-success
path: |
${{github.workspace}}/build/install/
${{github.workspace}}/build/dynamips-package.zip
compression-level: 9 # maximum compression

- name: Upload failure
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: linux-x86-failure
path: ${{github.workspace}}/build/
compression-level: 9 # maximum compression

0 comments on commit 4623264

Please sign in to comment.