Skip to content

Commit abd9bbf

Browse files
artemboylobankov
andcommitted
ci: add Ubuntu Jammy (22.04) workflow
Add the ubuntu_22_04.yml and ubuntu_22_04_aarch64.yml workflow files to build Tarantool packages for x86_64 and aarch64 systems. Closes tarantool/tarantool-qa#237 NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci Co-authored-by: Yaroslav Lobankov <[email protected]>
1 parent 29654ff commit abd9bbf

File tree

2 files changed

+142
-0
lines changed

2 files changed

+142
-0
lines changed

.github/workflows/ubuntu_22_04.yml

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: ubuntu_22_04
2+
3+
on:
4+
push:
5+
branches:
6+
- 'master'
7+
- '[0-9].[0-9]+'
8+
tags:
9+
- '**'
10+
pull_request:
11+
types: [opened, reopened, synchronize, labeled]
12+
workflow_dispatch:
13+
14+
concurrency:
15+
# Update of a developer branch cancels the previously scheduled workflow
16+
# run for this branch. However, the 'master' branch, release branch (1.10,
17+
# 2.8, etc.), and tag workflow runs are never canceled.
18+
#
19+
# We use a trick here: define the concurrency group as 'workflow run ID' +
20+
# 'workflow run attempt' because it is a unique combination for any run.
21+
# So it effectively discards grouping.
22+
#
23+
# Important: we cannot use `github.sha` as a unique identifier because
24+
# pushing a tag may cancel a run that works on a branch push event.
25+
group: ${{ (
26+
github.ref == 'refs/heads/master' ||
27+
github.ref == 'refs/heads/1.10' ||
28+
startsWith(github.ref, 'refs/heads/2.') ||
29+
startsWith(github.ref, 'refs/tags/')) &&
30+
format('{0}-{1}', github.run_id, github.run_attempt) ||
31+
format('{0}-{1}', github.workflow, github.ref) }}
32+
cancel-in-progress: true
33+
34+
jobs:
35+
ubuntu_22_04:
36+
# Run on push to the 'master' and release branches of tarantool/tarantool
37+
# or on pull request if the 'full-ci' label is set.
38+
if: github.repository == 'tarantool/tarantool' &&
39+
( github.event_name != 'pull_request' ||
40+
contains(github.event.pull_request.labels.*.name, 'full-ci') )
41+
42+
runs-on: ubuntu-20.04-self-hosted
43+
44+
strategy:
45+
fail-fast: false
46+
matrix:
47+
build-type: [ '', 'gc64' ]
48+
49+
steps:
50+
- uses: actions/[email protected]
51+
with:
52+
fetch-depth: 0
53+
submodules: recursive
54+
- uses: ./.github/actions/environment
55+
- name: packaging
56+
env:
57+
RWS_AUTH: ${{ secrets.RWS_AUTH }}
58+
OS: 'ubuntu'
59+
DIST: 'jammy'
60+
GC64: ${{ matrix.build-type == 'gc64' }}
61+
uses: ./.github/actions/pack_and_deploy
62+
- name: call action to send Telegram message on failure
63+
env:
64+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_CORE_TOKEN }}
65+
TELEGRAM_TO: ${{ secrets.TELEGRAM_CORE_TO }}
66+
uses: ./.github/actions/send-telegram-notify
67+
if: failure()
68+
- name: artifacts
69+
uses: actions/upload-artifact@v2
70+
if: failure()
71+
with:
72+
name: ubuntu-jammy
73+
retention-days: 21
74+
path: ${{ env.VARDIR }}/artifacts
+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: ubuntu_22_04_aarch64
2+
3+
on:
4+
push:
5+
branches:
6+
- 'master'
7+
- '[0-9].[0-9]+'
8+
tags:
9+
- '**'
10+
pull_request:
11+
types: [opened, reopened, synchronize, labeled]
12+
workflow_dispatch:
13+
14+
concurrency:
15+
# Update of a developer branch cancels the previously scheduled workflow
16+
# run for this branch. However, the 'master' branch, release branch (1.10,
17+
# 2.8, etc.), and tag workflow runs are never canceled.
18+
#
19+
# We use a trick here: define the concurrency group as 'workflow run ID' +
20+
# 'workflow run attempt' because it is a unique combination for any run.
21+
# So it effectively discards grouping.
22+
#
23+
# Important: we cannot use `github.sha` as a unique identifier because
24+
# pushing a tag may cancel a run that works on a branch push event.
25+
group: ${{ (
26+
github.ref == 'refs/heads/master' ||
27+
github.ref == 'refs/heads/1.10' ||
28+
startsWith(github.ref, 'refs/heads/2.') ||
29+
startsWith(github.ref, 'refs/tags/')) &&
30+
format('{0}-{1}', github.run_id, github.run_attempt) ||
31+
format('{0}-{1}', github.workflow, github.ref) }}
32+
cancel-in-progress: true
33+
34+
jobs:
35+
ubuntu_22_04_aarch64:
36+
# Run on push to the 'master' and release branches of tarantool/tarantool
37+
# or on pull request if the 'full-ci' label is set.
38+
if: github.repository == 'tarantool/tarantool' &&
39+
( github.event_name != 'pull_request' ||
40+
contains(github.event.pull_request.labels.*.name, 'full-ci') )
41+
42+
runs-on: graviton
43+
44+
steps:
45+
- uses: actions/[email protected]
46+
with:
47+
fetch-depth: 0
48+
submodules: recursive
49+
- uses: ./.github/actions/environment
50+
- name: packaging
51+
env:
52+
RWS_AUTH: ${{ secrets.RWS_AUTH }}
53+
OS: 'ubuntu'
54+
DIST: 'jammy'
55+
uses: ./.github/actions/pack_and_deploy
56+
- name: call action to send Telegram message on failure
57+
env:
58+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_CORE_TOKEN }}
59+
TELEGRAM_TO: ${{ secrets.TELEGRAM_CORE_TO }}
60+
uses: ./.github/actions/send-telegram-notify
61+
if: failure()
62+
- name: artifacts
63+
uses: actions/upload-artifact@v2
64+
if: failure()
65+
with:
66+
name: ubuntu-jammy
67+
retention-days: 21
68+
path: ${{ env.VARDIR }}/artifacts

0 commit comments

Comments
 (0)