summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2024-06-22 17:26:04 +0200
committerGitHub <noreply@github.com>2024-06-22 17:26:04 +0200
commit0c37a06e9d3d51ba1d4d6d42eec2b4cbb98a3a1c (patch)
tree4157ee5fc71fe5f9fc8c5675fba1e61301e158e9
parent4732b35923ed57d1f0da7f1cac511141fa88e006 (diff)
parentfe25b786ac43d93bc6d9bbf914579f71e75f9ec2 (diff)
downloadvyos-1x-0c37a06e9d3d51ba1d4d6d42eec2b4cbb98a3a1c.tar.gz
vyos-1x-0c37a06e9d3d51ba1d4d6d42eec2b4cbb98a3a1c.zip
Merge pull request #3703 from c-po/package-smoketest
GitHub: T6494: add workflow to build custom ISO for integration tests
-rw-r--r--.github/workflows/build-package.yml17
-rw-r--r--.github/workflows/package-smoketest.yml106
2 files changed, 106 insertions, 17 deletions
diff --git a/.github/workflows/build-package.yml b/.github/workflows/build-package.yml
deleted file mode 100644
index 0200aceb4..000000000
--- a/.github/workflows/build-package.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Debian Package Build
-on:
- pull_request:
- branches:
- - current
-
-jobs:
- package-build:
- runs-on: ubuntu-latest
- container:
- image: vyos/vyos-build:current
- options: --sysctl net.ipv6.conf.lo.disable_ipv6=0
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Build Debian package
- run: dpkg-buildpackage -uc -us -tc -b
diff --git a/.github/workflows/package-smoketest.yml b/.github/workflows/package-smoketest.yml
new file mode 100644
index 000000000..49bd91669
--- /dev/null
+++ b/.github/workflows/package-smoketest.yml
@@ -0,0 +1,106 @@
+name: Package ISO Test
+
+on:
+ pull_request:
+ branches:
+ - current
+
+jobs:
+ build:
+ runs-on: ubuntu-24.04
+ container:
+ image: vyos/vyos-build:current
+ options: --sysctl net.ipv6.conf.lo.disable_ipv6=0 --privileged
+ env:
+ BUILD_BY: autobuild@vyos.net
+ DEBIAN_MIRROR: http://deb.debian.org/debian/
+ outputs:
+ build_version: ${{ steps.version.outputs.build_version }}
+ steps:
+ - name: Clone vyos-build source code
+ uses: actions/checkout@v4
+ with:
+ repository: vyos/vyos-build
+ - name: Clone vyos-1x source code
+ uses: actions/checkout@v4
+ with:
+ repository: vyos/vyos-1x
+ path: packages/vyos-1x
+ fetch-tags: true # required for Debian package version
+ - name: Build vyos-1x package
+ run: |
+ cd packages/vyos-1x; dpkg-buildpackage -uc -us -tc -b
+ - name: Generate ISO version string
+ id: version
+ run: |
+ echo "build_version=1.5-integration-$(date -u +%Y%m%d%H%M)" >> $GITHUB_OUTPUT
+ - name: Build custom ISO image
+ run: |
+ sudo --preserve-env ./build-vyos-image \
+ --architecture amd64 \
+ --build-by $BUILD_BY \
+ --debian-mirror $DEBIAN_MIRROR \
+ --version ${{ steps.version.outputs.build_version }} \
+ --build-type release \
+ generic
+ - uses: actions/upload-artifact@v4
+ with:
+ name: vyos-${{ steps.version.outputs.build_version }}
+ path: build/live-image-amd64.hybrid.iso
+
+ cli-smoketests:
+ needs: build
+ runs-on: ubuntu-24.04
+ container:
+ image: vyos/vyos-build:current
+ options: --sysctl net.ipv6.conf.lo.disable_ipv6=0 --privileged
+ steps:
+ # We need the test script from vyos-build repo
+ - name: Clone vyos-build source code
+ uses: actions/checkout@v4
+ with:
+ repository: vyos/vyos-build
+ - uses: actions/download-artifact@v4
+ with:
+ name: vyos-${{ needs.build.outputs.build_version }}
+ path: build
+ - name: VyOS CLI smoketests
+ run: ls -al; ls -al build; sudo make test
+
+ config-load-tests:
+ needs: build
+ runs-on: ubuntu-24.04
+ container:
+ image: vyos/vyos-build:current
+ options: --sysctl net.ipv6.conf.lo.disable_ipv6=0 --privileged
+ steps:
+ # We need the test script from vyos-build repo
+ - name: Clone vyos-build source code
+ uses: actions/checkout@v4
+ with:
+ repository: vyos/vyos-build
+ - uses: actions/download-artifact@v4
+ with:
+ name: vyos-${{ needs.build.outputs.build_version }}
+ path: build
+ - name: VyOS config tests
+ run: sudo make testc
+
+ raid1-install-test:
+ needs: build
+ runs-on: ubuntu-24.04
+ container:
+ image: vyos/vyos-build:current
+ options: --sysctl net.ipv6.conf.lo.disable_ipv6=0 --privileged
+ steps:
+ # We need the test script from vyos-build repo
+ - name: Clone vyos-build source code
+ uses: actions/checkout@v4
+ with:
+ repository: vyos/vyos-build
+ - uses: actions/download-artifact@v4
+ with:
+ name: vyos-${{ needs.build.outputs.build_version }}
+ path: build
+ - name: VyOS RAID1 install test
+ run: sudo make testraid