Skip to content

Commit 29d5c2c

Browse files
committed
Add Ubuntu 22.04 release package
Because 22.04 is the current LTS release of Ubuntu.
1 parent 031ae2e commit 29d5c2c

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

.github/workflows/release-packages.yaml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,81 @@ env:
66

77
name: Upload additional release assets
88
jobs:
9+
ubuntu-22.04-package:
10+
runs-on: ubuntu-22.04
11+
env:
12+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13+
steps:
14+
- uses: actions/checkout@v3
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 -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
26+
chmod u+x cvc5
27+
mv cvc5 /usr/local/bin
28+
cvc5 --version
29+
- name: Prepare ccache
30+
uses: actions/cache@v3
31+
with:
32+
path: .ccache
33+
key: ${{ runner.os }}-22.04-Release-${{ github.ref }}-${{ github.sha }}-RELEASEPKG
34+
restore-keys:
35+
${{ runner.os }}-22.04-Release-${{ github.ref }}
36+
${{ runner.os }}-22.04-Release
37+
- name: ccache environment
38+
run: |
39+
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
40+
echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
41+
- name: Configure CMake
42+
run: |
43+
mkdir build
44+
cd build
45+
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release
46+
- name: Zero ccache stats and limit in size
47+
run: ccache -z --max-size=500M
48+
- name: Build using Ninja
49+
run: |
50+
cd build
51+
ninja -j2
52+
- name: Print ccache stats
53+
run: ccache -s
54+
- name: Run CTest
55+
run: cd build; ctest . -V -L CORE -C Release -j2
56+
- name: Create packages
57+
id: create_packages
58+
run: |
59+
cd build
60+
ninja package
61+
deb_package_name="$(ls *.deb)"
62+
echo "deb_package=./build/$deb_package_name" >> $GITHUB_OUTPUT
63+
echo "deb_package_name=ubuntu-22.04-$deb_package_name" >> $GITHUB_OUTPUT
64+
- name: Get release info
65+
id: get_release_info
66+
uses: bruceadams/get-release@v1.3.2
67+
- name: Upload binary packages
68+
uses: actions/upload-release-asset@v1
69+
with:
70+
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
71+
asset_path: ${{ steps.create_packages.outputs.deb_package }}
72+
asset_name: ${{ steps.create_packages.outputs.deb_package_name }}
73+
asset_content_type: application/x-deb
74+
- name: Slack notification of CI status
75+
uses: rtCamp/action-slack-notify@v2
76+
if: success() || failure()
77+
env:
78+
SLACK_CHANNEL: team_open_source
79+
SLACK_COLOR: ${{ job.status }}
80+
SLACK_USERNAME: Github Actions CI bot
81+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
82+
SLACK_MESSAGE: "${{ job.status == 'success' && 'Ubuntu 22.04 package built and uploaded successfully' || 'Ubuntu 22.04 package build failed' }}"
83+
984
ubuntu-20_04-package:
1085
runs-on: ubuntu-20.04
1186
env:

0 commit comments

Comments
 (0)