Skip to content

Commit 298b037

Browse files
authored
Merge pull request #8522 from tautschnig/release-24.04
Build release packages for Ubuntu 24.04
2 parents 1f96000 + 2d5ca70 commit 298b037

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

Diff for: .github/workflows/release-packages.yaml

+71
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,77 @@ env:
66

77
name: Upload additional release assets
88
jobs:
9+
ubuntu-24_04-package:
10+
runs-on: ubuntu-24.04
11+
env:
12+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13+
steps:
14+
- uses: actions/checkout@v4
15+
with:
16+
submodules: recursive
17+
- name: Fetch dependencies
18+
run: |
19+
sudo apt-get update
20+
sudo apt-get install --no-install-recommends -y g++ gdb flex bison cmake ninja-build maven jq libxml2-utils dpkg-dev ccache z3
21+
- name: Confirm z3 solver is available and log the version installed
22+
run: z3 --version
23+
- name: Download cvc-5 from the releases page and make sure it can be deployed
24+
run: |
25+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-static.zip
26+
unzip -j -d /usr/local/bin cvc5-Linux-static.zip cvc5-Linux-static/bin/cvc5
27+
rm cvc5-Linux-static.zip
28+
cvc5 --version
29+
- name: Prepare ccache
30+
uses: actions/cache@v4
31+
with:
32+
save-always: true
33+
path: .ccache
34+
key: ${{ runner.os }}-24.04-Release-${{ github.ref }}-${{ github.sha }}-RELEASEPKG
35+
restore-keys:
36+
${{ runner.os }}-24.04-Release-${{ github.ref }}
37+
${{ runner.os }}-24.04-Release
38+
- name: ccache environment
39+
run: |
40+
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
41+
echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
42+
- name: Configure CMake
43+
run: cmake -S . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -Dsat_impl="minisat2;cadical"
44+
- name: Zero ccache stats and limit in size
45+
run: ccache -z --max-size=500M
46+
- name: Build using Ninja
47+
run: ninja -C build -j4
48+
- name: Print ccache stats
49+
run: ccache -s
50+
- name: Run CTest
51+
run: cd build; ctest . -V -L CORE -C Release -j4
52+
- name: Create packages
53+
id: create_packages
54+
run: |
55+
cd build
56+
ninja package
57+
deb_package_name="$(ls *.deb)"
58+
echo "deb_package=./build/$deb_package_name" >> $GITHUB_OUTPUT
59+
echo "deb_package_name=ubuntu-24.04-$deb_package_name" >> $GITHUB_OUTPUT
60+
- name: Get release info
61+
id: get_release_info
62+
uses: bruceadams/[email protected]
63+
- name: Upload binary packages
64+
uses: actions/upload-release-asset@v1
65+
with:
66+
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
67+
asset_path: ${{ steps.create_packages.outputs.deb_package }}
68+
asset_name: ${{ steps.create_packages.outputs.deb_package_name }}
69+
asset_content_type: application/x-deb
70+
- name: Slack notification of CI status
71+
uses: rtCamp/action-slack-notify@v2
72+
if: success() || failure()
73+
env:
74+
SLACK_CHANNEL: aws-cbmc
75+
SLACK_COLOR: ${{ job.status }}
76+
SLACK_USERNAME: Github Actions CI bot
77+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
78+
SLACK_MESSAGE: "${{ job.status == 'success' && 'Ubuntu 24.04 package built and uploaded successfully' || 'Ubuntu 24.04 package build failed' }}"
79+
980
ubuntu-22_04-package:
1081
runs-on: ubuntu-22.04
1182
env:

0 commit comments

Comments
 (0)