Skip to content

Commit fccb6bc

Browse files
committed
ci: add Fedora 36 workflow
Add the fedora_36.yml and fedora_36_aarch64.yml workflow files to build Tarantool packages for x86_64 and aarch64 systems. Closes tarantool/tarantool-qa#239 NO_DOC=ci NO_TEST=ci
1 parent 9d1f9f0 commit fccb6bc

File tree

3 files changed

+145
-0
lines changed

3 files changed

+145
-0
lines changed

.github/workflows/fedora_36.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: fedora_36
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+
fedora_36:
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: 'fedora'
59+
DIST: '36'
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: fedora-36
73+
retention-days: 21
74+
path: ${{ env.VARDIR }}/artifacts
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: fedora_36_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+
fedora_36_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: 'fedora'
54+
DIST: '36'
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: fedora-36
67+
retention-days: 21
68+
path: ${{ env.VARDIR }}/artifacts
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## feature/build
2+
3+
* Support Fedora-36 build.

0 commit comments

Comments
 (0)