Skip to content

Commit 6d621ea

Browse files
authored
Setup/CI: cleanup Ubuntu 18.04 and cbmc-viewer left-overs and enable 24.04 (#3758)
We no longer need ctags and mostly don't need python anymore with the removal of cbmc-viewer. Add CI workflows for Ubuntu 24.04. Resolves: #3728 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.
1 parent ceb87da commit 6d621ea

15 files changed

+35
-44
lines changed

.github/workflows/kani.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: ${{ matrix.os }}
1919
strategy:
2020
matrix:
21-
os: [macos-13, ubuntu-20.04, ubuntu-22.04, macos-14]
21+
os: [macos-13, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-14]
2222
steps:
2323
- name: Checkout Kani
2424
uses: actions/checkout@v4

.github/workflows/release.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ jobs:
9797
needs: [build_bundle_macos, build_bundle_linux]
9898
strategy:
9999
matrix:
100-
os: [macos-13, ubuntu-20.04, ubuntu-22.04]
100+
os: [macos-13, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
101101
include:
102102
- os: macos-13
103103
rust_target: x86_64-apple-darwin
@@ -108,6 +108,9 @@ jobs:
108108
- os: ubuntu-22.04
109109
rust_target: x86_64-unknown-linux-gnu
110110
prev_job: ${{ needs.build_bundle_linux.outputs }}
111+
- os: ubuntu-24.04
112+
rust_target: x86_64-unknown-linux-gnu
113+
prev_job: ${{ needs.build_bundle_linux.outputs }}
111114
runs-on: ${{ matrix.os }}
112115
steps:
113116
- name: Download bundle
@@ -197,7 +200,7 @@ jobs:
197200
needs: [build_bundle_macos, build_bundle_linux]
198201
strategy:
199202
matrix:
200-
os: [macos-13, ubuntu-20.04, ubuntu-22.04]
203+
os: [macos-13, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
201204
include:
202205
# Stores the output of the previous job conditional to the OS
203206
- prev_job: ${{ needs.build_bundle_linux.outputs }}

docs/src/build-from-source.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Kani has been tested in [Ubuntu](#install-dependencies-on-ubuntu) and [macOS](##
1818

1919
### Install dependencies on Ubuntu
2020

21-
Support is available for Ubuntu 18.04, 20.04 and 22.04.
21+
Support is available for Ubuntu 20.04, 22.04, and 24.04.
2222
The simplest way to install dependencies (especially if you're using a fresh VM)
2323
is following our CI scripts:
2424

scripts/ci/Dockerfile.bundle-release-20-04

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ COPY ./target/package/kani-verifier-*[^e] ./kani-verifier
1717
# directory. Rustup is purged for space.
1818

1919
RUN apt-get update && \
20-
apt-get install -y python3 python3-pip curl ctags && \
20+
apt-get install -y curl && \
2121
curl -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none && \
2222
(cd kani-verifier/; cargo) && \
2323
rustup default $(rustup toolchain list | awk '{ print $1 }') && \

scripts/ci/Dockerfile.bundle-test-al2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Note: this file is intended only for testing the kani release bundle
55

66
FROM amazonlinux:2
7-
RUN yum install -y gcc python3 python3-pip curl ctags tar gzip && \
7+
RUN yum install -y gcc curl tar gzip && \
88
curl -sSf https://sh.rustup.rs | sh -s -- -y
99
ENV PATH="/root/.cargo/bin:${PATH}"
1010

scripts/ci/Dockerfile.bundle-test-nixos

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,9 @@ RUN echo $' \n\
1010
with import <nixpkgs> {}; \n\
1111
mkShell { \n\
1212
packages = [ \n\
13-
ctags \n\
1413
curl \n\
1514
gcc \n\
1615
patchelf \n\
17-
python310 \n\
18-
python310Packages.pip \n\
1916
rustup \n\
2017
]; \n\
2118
}' >> ./default.nix

scripts/ci/Dockerfile.bundle-test-ubuntu-20-04

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ FROM ubuntu:20.04
77
ENV DEBIAN_FRONTEND=noninteractive \
88
DEBCONF_NONINTERACTIVE_SEEN=true
99
RUN apt-get update && \
10-
apt-get install -y python3 python3-pip curl ctags && \
10+
apt-get install -y curl && \
1111
curl -sSf https://sh.rustup.rs | sh -s -- -y
1212
ENV PATH="/root/.cargo/bin:${PATH}"
1313

scripts/ci/Dockerfile.bundle-test-ubuntu-20-04-alt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
99
DEBCONF_NONINTERACTIVE_SEEN=true \
1010
KANI_HOME="/tmp"
1111
RUN apt-get update && \
12-
apt-get install -y python3 python3-pip curl ctags && \
12+
apt-get install -y curl && \
1313
curl -sSf https://sh.rustup.rs | sh -s -- -y
1414
ENV PATH="/root/.cargo/bin:${PATH}"
1515

scripts/ci/Dockerfile.bundle-test-ubuntu-22-04

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ FROM ubuntu:22.04
77
ENV DEBIAN_FRONTEND=noninteractive \
88
DEBCONF_NONINTERACTIVE_SEEN=true
99
RUN apt-get update && \
10-
apt-get install -y python3 python3-pip curl universal-ctags && \
10+
apt-get install -y curl && \
1111
curl -sSf https://sh.rustup.rs | sh -s -- -y
1212
ENV PATH="/root/.cargo/bin:${PATH}"
1313

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copyright Kani Contributors
2+
# SPDX-License-Identifier: Apache-2.0 OR MIT
3+
4+
# Note: this file is intended only for testing the kani release bundle
5+
6+
FROM ubuntu:24.04
7+
ENV DEBIAN_FRONTEND=noninteractive \
8+
DEBCONF_NONINTERACTIVE_SEEN=true
9+
RUN apt-get update && \
10+
apt-get install -y curl && \
11+
curl -sSf https://sh.rustup.rs | sh -s -- -y
12+
ENV PATH="/root/.cargo/bin:${PATH}"
13+
14+
WORKDIR /tmp/kani
15+
COPY ./tests ./tests
16+
COPY ./kani-latest-x86_64-unknown-linux-gnu.tar.gz ./
17+
# Very awkward glob (not regex!) to get `kani-verifier-*` and not `kani-verifier-*.crate`
18+
COPY ./target/package/kani-verifier-*[^e] ./kani-verifier
19+
RUN cargo install --path ./kani-verifier
20+
RUN cargo-kani setup --use-local-bundle ./kani-latest-x86_64-unknown-linux-gnu.tar.gz

0 commit comments

Comments
 (0)