WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 2d5ca70

Browse files
committed
Build release packages for Ubuntu 24.04
In addition to 20.04 and 22.04 we should now also produce native releases for Ubuntu 24.04.
1 parent 1f96000 commit 2d5ca70

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

.github/workflows/release-packages.yaml

Lines changed: 71 additions & 0 deletions
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)