Thanks Ales, Acked-by: Mark Michelson<[email protected]>
On Mon, Aug 3, 2026 at 6:30 AM Ales Musil via dev <[email protected]> wrote: > > The Cirrus CI was shut down on June 1st 2026, replace it with GitHub > native ARM64 job that runs weekly due to capacity issues. Also update > the README badges. > > Reported-at: https://redhat.atlassian.net/browse/FDP-3765 > Signed-off-by: Ales Musil <[email protected]> > --- > Test run available at https://github.com/almusil/ovn/actions/runs/30798200421 > --- > .cirrus.yml | 69 --------------------- > .github/workflows/test-arm.yml | 109 +++++++++++++++++++++++++++++++++ > Makefile.am | 2 +- > README.rst | 6 +- > 4 files changed, 114 insertions(+), 72 deletions(-) > delete mode 100644 .cirrus.yml > create mode 100644 .github/workflows/test-arm.yml > > diff --git a/.cirrus.yml b/.cirrus.yml > deleted file mode 100644 > index 9cf2a46d6..000000000 > --- a/.cirrus.yml > +++ /dev/null > @@ -1,69 +0,0 @@ > -compute_engine_instance: > - image_project: ubuntu-os-cloud > - image: family/ubuntu-2404-lts-arm64 > - architecture: arm64 > - platform: linux > - memory: 4G > - disk: 20 > - > -# Run separate task for the image build, so it's running only once outside > -# the test matrix. > -build_image_task: > - install_dependencies_script: > - - sudo apt update > - - sudo apt install -y podman make > - > - build_container_script: > - - cd utilities/containers > - - make ubuntu > - - podman save -o /tmp/image.tar --format oci-archive > ovn-org/ovn-tests:ubuntu > - > - upload_image_script: > - - curl -s -X POST -T /tmp/image.tar > http://$CIRRUS_HTTP_CACHE_HOST/${CIRRUS_CHANGE_IN_REPO} > - > -arm_unit_tests_task: > - depends_on: > - - build_image > - > - env: > - CIRRUS_CLONE_SUBMODULES: true > - PATH: ${HOME}/bin:${HOME}/.local/bin:${PATH} > - RECHECK: yes > - IMAGE_NAME: ovn-org/ovn-tests:ubuntu > - matrix: > - - CC: gcc > - TESTSUITE: test > - TEST_RANGE: -300 > - - CC: gcc > - TESTSUITE: test > - TEST_RANGE: 301-600 > - - CC: gcc > - TESTSUITE: test > - TEST_RANGE: 601- > - UNSTABLE: yes > - - CC: clang > - TESTSUITE: test > - TEST_RANGE: -300 > - - CC: clang > - TESTSUITE: test > - TEST_RANGE: 301-600 > - - CC: clang > - TESTSUITE: test > - TEST_RANGE: 601- > - UNSTABLE: yes > - > - name: ARM64 ${CC} ${TESTSUITE} ${TEST_RANGE} > - > - install_dependencies_script: > - - sudo apt update > - - sudo apt install -y podman > - > - download_cache_script: > - - curl http://$CIRRUS_HTTP_CACHE_HOST/${CIRRUS_CHANGE_IN_REPO} -o > /tmp/image.tar > - > - load_image_script: > - - podman load -i /tmp/image.tar > - - rm -rf /tmp/image.tar > - > - build_script: > - - ./.ci/ci.sh --archive-logs > diff --git a/.github/workflows/test-arm.yml b/.github/workflows/test-arm.yml > new file mode 100644 > index 000000000..cd0a12eff > --- /dev/null > +++ b/.github/workflows/test-arm.yml > @@ -0,0 +1,109 @@ > +name: Build and Test ARM64 > + > +on: > + schedule: > + # Run Sunday at midnight > + - cron: '0 0 * * 0' > + workflow_dispatch: > + > +concurrency: > + group: ${{ github.workflow }}-${{ github.event.pull_request.number || > github.run_id }} > + if: (github.repository_owner == 'ovn-org' && github.event_name == > 'schedule' && github.ref_name == 'main') || github.event_name == > 'workflow_dispatch' > + cancel-in-progress: true > + > +jobs: > + build-linux: > + env: > + ARCH: ${{ matrix.cfg.arch }} > + CC: ${{ matrix.cfg.compiler }} > + DPDK: ${{ matrix.cfg.dpdk }} > + LIBS: ${{ matrix.cfg.libs }} > + OPTS: ${{ matrix.cfg.opts }} > + TESTSUITE: ${{ matrix.cfg.testsuite }} > + TEST_RANGE: ${{ matrix.cfg.test_range }} > + SANITIZERS: ${{ matrix.cfg.sanitizers }} > + UNSTABLE: ${{ matrix.cfg.unstable }} > + > + name: linux ${{ join(matrix.cfg.*, ' ') }} > + runs-on: ubuntu-24.04-arm > + > + strategy: > + fail-fast: false > + matrix: > + cfg: > + - { compiler: gcc, opts: --disable-ssl } > + - { compiler: clang, opts: --disable-ssl } > + - { compiler: gcc, testsuite: dist-test } > + - { compiler: gcc, testsuite: test, test_range: "-300" } > + - { compiler: gcc, testsuite: test, test_range: "301-600" } > + - { compiler: gcc, testsuite: test, test_range: "601-", unstable: > unstable } > + - { compiler: clang, testsuite: test, sanitizers: sanitizers, > test_range: "-300" } > + - { compiler: clang, testsuite: test, sanitizers: sanitizers, > test_range: "301-600" } > + - { compiler: clang, testsuite: test, sanitizers: sanitizers, > test_range: "601-", unstable: unstable } > + - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: > "-300" } > + - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: > "301-600" } > + - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: > "601-", unstable: unstable } > + - { compiler: gcc, testsuite: system-test-dpdk, dpdk: dpdk, > test_range: "-100" } > + - { compiler: gcc, testsuite: system-test-dpdk, dpdk: dpdk, > test_range: "101-200" } > + - { compiler: gcc, testsuite: system-test-dpdk, dpdk: dpdk, > test_range: "201-", unstable: unstable } > + - { compiler: gcc, testsuite: system-test-userspace, test_range: > "-100" } > + - { compiler: gcc, testsuite: system-test-userspace, test_range: > "101-200" } > + - { compiler: gcc, testsuite: system-test-userspace, test_range: > "201-", unstable: unstable } > + - { compiler: gcc, testsuite: system-test, test_range: "-100" } > + - { compiler: gcc, testsuite: system-test, test_range: "101-200" } > + - { compiler: gcc, testsuite: system-test, test_range: "201-", > unstable: unstable } > + - { compiler: clang, testsuite: system-test, sanitizers: > sanitizers, test_range: "-100" } > + - { compiler: clang, testsuite: system-test, sanitizers: > sanitizers, test_range: "101-200" } > + - { compiler: clang, testsuite: system-test, sanitizers: > sanitizers, test_range: "201-", unstable: unstable } > + > + steps: > + - name: system-level-dependencies > + if: ${{ startsWith(matrix.cfg.testsuite, 'system-test') }} > + run: | > + sudo apt update > + sudo apt -y install linux-modules-extra-$(uname -r) > + > + - name: checkout > + uses: actions/checkout@v6 > + with: > + submodules: recursive > + > + - name: Fix /etc/hosts file > + run: | > + . .ci/linux-util.sh > + fix_etc_hosts > + > + - name: Disable apparmor > + run: | > + . .ci/linux-util.sh > + disable_apparmor > + > + - name: Fixup crun > + run: | > + . .ci/linux-util.sh > + fixup_crun > + > + - name: Download container > + run: | > + podman pull ghcr.io/ovn-org/ovn-tests:ubuntu > + sudo podman pull ghcr.io/ovn-org/ovn-tests:ubuntu > + > + - name: Tag image > + run: | > + podman tag ghcr.io/ovn-org/ovn-tests:ubuntu ovn-org/ovn-tests > + sudo podman tag ghcr.io/ovn-org/ovn-tests:ubuntu ovn-org/ovn-tests > + > + - name: build > + if: ${{ startsWith(matrix.cfg.testsuite, 'system-test') }} > + run: sudo -E ./.ci/ci.sh --archive-logs --timeout=2h > + > + - name: build > + if: ${{ !startsWith(matrix.cfg.testsuite, 'system-test') }} > + run: ./.ci/ci.sh --archive-logs --timeout=2h > + > + - name: upload logs on failure > + if: failure() || cancelled() > + uses: actions/upload-artifact@v7 > + with: > + name: logs-linux-${{ join(matrix.cfg.*, '-') }} > + path: logs.tgz > diff --git a/Makefile.am b/Makefile.am > index 0f2389b25..b4a3284fc 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -70,7 +70,6 @@ EXTRA_DIST = \ > MAINTAINERS.rst \ > README.rst \ > NOTICE \ > - .cirrus.yml \ > .ci/ci.sh \ > .ci/linux-build.sh \ > .ci/linux-util.sh \ > @@ -82,6 +81,7 @@ EXTRA_DIST = \ > .ci/ovn-kubernetes/custom.patch \ > .github/workflows/containers.yml \ > .github/workflows/test.yml \ > + .github/workflows/test-arm.yml \ > .github/workflows/ovn-kubernetes.yml \ > .github/workflows/ovn-fake-multinode-tests.yml \ > .github/workflows/ovn-upgrade-tests.yml \ > diff --git a/README.rst b/README.rst > index 9b09e22ff..e9b26cc56 100644 > --- a/README.rst > +++ b/README.rst > @@ -11,8 +11,10 @@ OVN > :target: > https://github.com/ovn-org/ovn/actions/workflows/ovn-kubernetes.yml > .. image:: > https://github.com/ovn-org/ovn/actions/workflows/ovn-fake-multinode-tests.yml/badge.svg > :target: > https://github.com/ovn-org/ovn/actions/workflows/ovn-fake-multinode-tests.yml > -.. image:: https://api.cirrus-ci.com/github/ovn-org/ovn.svg > - :target: https://cirrus-ci.com/github/ovn-org/ovn > +.. image:: > https://github.com/ovn-org/ovn/actions/workflows/ovn-upgrade-tests.yml/badge.svg > + :target: > https://github.com/ovn-org/ovn/actions/workflows/ovn-upgrade-tests.yml > +.. image:: > https://github.com/ovn-org/ovn/actions/workflows/test-arm.yml/badge.svg > + :target: https://github.com/ovn-org/ovn/actions/workflows/test-arm.yml > .. image:: https://readthedocs.org/projects/ovn/badge/?version=latest > :target: https://docs.ovn.org/en/latest/ > .. image:: https://scan.coverity.com/projects/30371/badge.svg > -- > 2.55.0 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
