From e43f62814eec51ac1b90bfa26b4213fab0357de2 Mon Sep 17 00:00:00 2001
From: Yaroslav Lobankov <y.lobankov@tarantool.org>
Date: Tue, 24 May 2022 01:02:41 +0400
Subject: [PATCH] ci: remove builds of Ubuntu EOL releases

- Ubuntu Groovy Gorilla (20.10)
- Ubuntu Hirsute Hippo (21.04)

See for details: https://wiki.ubuntu.com/Releases

NO_DOC=ci
NO_TEST=ci
NO_CHANGELOG=ci

(cherry picked from commit 2e067472fb13142957a8c4183e470a66047fcbc2)
---
 .github/workflows/ubuntu_20_10.yml            | 74 -------------------
 .github/workflows/ubuntu_20_10_aarch64.yml    | 68 -----------------
 .github/workflows/ubuntu_21_04.yml            | 74 -------------------
 .github/workflows/ubuntu_21_04_aarch64.yml    | 68 -----------------
 .../drop-ubuntu-groovy-hirsute-ci-cd.md       |  3 +
 5 files changed, 3 insertions(+), 284 deletions(-)
 delete mode 100644 .github/workflows/ubuntu_20_10.yml
 delete mode 100644 .github/workflows/ubuntu_20_10_aarch64.yml
 delete mode 100644 .github/workflows/ubuntu_21_04.yml
 delete mode 100644 .github/workflows/ubuntu_21_04_aarch64.yml
 create mode 100644 changelogs/unreleased/drop-ubuntu-groovy-hirsute-ci-cd.md

diff --git a/.github/workflows/ubuntu_20_10.yml b/.github/workflows/ubuntu_20_10.yml
deleted file mode 100644
index e9e63b6284..0000000000
--- a/.github/workflows/ubuntu_20_10.yml
+++ /dev/null
@@ -1,74 +0,0 @@
-name: ubuntu_20_10
-
-on:
-  push:
-    branches:
-      - 'master'
-      - '[0-9].[0-9]+'
-    tags:
-      - '**'
-  pull_request:
-    types: [opened, reopened, synchronize, labeled]
-  workflow_dispatch:
-
-concurrency:
-  # Update of a developer branch cancels the previously scheduled workflow
-  # run for this branch. However, the 'master' branch, release branch (1.10,
-  # 2.8, etc.), and tag workflow runs are never canceled.
-  #
-  # We use a trick here: define the concurrency group as 'workflow run ID' +
-  # 'workflow run attempt' because it is a unique combination for any run.
-  # So it effectively discards grouping.
-  #
-  # Important: we cannot use `github.sha` as a unique identifier because
-  # pushing a tag may cancel a run that works on a branch push event.
-  group: ${{ (
-    github.ref == 'refs/heads/master' ||
-    github.ref == 'refs/heads/1.10' ||
-    startsWith(github.ref, 'refs/heads/2.') ||
-    startsWith(github.ref, 'refs/tags/')) &&
-    format('{0}-{1}', github.run_id, github.run_attempt) ||
-    format('{0}-{1}', github.workflow, github.ref) }}
-  cancel-in-progress: true
-
-jobs:
-  ubuntu_20_10:
-    # Run on push to the 'master' and release branches of tarantool/tarantool
-    # or on pull request if the 'full-ci' label is set.
-    if: github.repository == 'tarantool/tarantool' &&
-        ( github.event_name != 'pull_request' ||
-          contains(github.event.pull_request.labels.*.name, 'full-ci') )
-
-    runs-on: ubuntu-20.04-self-hosted
-
-    strategy:
-      fail-fast: false
-      matrix:
-        build-type: [ '', 'gc64' ]
-
-    steps:
-      - uses: actions/checkout@v2.3.4
-        with:
-          fetch-depth: 0
-          submodules: recursive
-      - uses: ./.github/actions/environment
-      - name: packaging
-        env:
-          RWS_AUTH: ${{ secrets.RWS_AUTH }}
-          OS: 'ubuntu'
-          DIST: 'groovy'
-          GC64: ${{ matrix.build-type == 'gc64' }}
-        uses: ./.github/actions/pack_and_deploy
-      - name: call action to send Telegram message on failure
-        env:
-          TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_CORE_TOKEN }}
-          TELEGRAM_TO: ${{ secrets.TELEGRAM_CORE_TO }}
-        uses: ./.github/actions/send-telegram-notify
-        if: failure()
-      - name: artifacts
-        uses: actions/upload-artifact@v2
-        if: failure()
-        with:
-          name: ubuntu-groovy
-          retention-days: 21
-          path: ${{ env.VARDIR }}/artifacts
diff --git a/.github/workflows/ubuntu_20_10_aarch64.yml b/.github/workflows/ubuntu_20_10_aarch64.yml
deleted file mode 100644
index d7e0b1a8f1..0000000000
--- a/.github/workflows/ubuntu_20_10_aarch64.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-name: ubuntu_20_10_aarch64
-
-on:
-  push:
-    branches:
-      - 'master'
-      - '[0-9].[0-9]+'
-    tags:
-      - '**'
-  pull_request:
-    types: [opened, reopened, synchronize, labeled]
-  workflow_dispatch:
-
-concurrency:
-  # Update of a developer branch cancels the previously scheduled workflow
-  # run for this branch. However, the 'master' branch, release branch (1.10,
-  # 2.8, etc.), and tag workflow runs are never canceled.
-  #
-  # We use a trick here: define the concurrency group as 'workflow run ID' +
-  # 'workflow run attempt' because it is a unique combination for any run.
-  # So it effectively discards grouping.
-  #
-  # Important: we cannot use `github.sha` as a unique identifier because
-  # pushing a tag may cancel a run that works on a branch push event.
-  group: ${{ (
-    github.ref == 'refs/heads/master' ||
-    github.ref == 'refs/heads/1.10' ||
-    startsWith(github.ref, 'refs/heads/2.') ||
-    startsWith(github.ref, 'refs/tags/')) &&
-    format('{0}-{1}', github.run_id, github.run_attempt) ||
-    format('{0}-{1}', github.workflow, github.ref) }}
-  cancel-in-progress: true
-
-jobs:
-  ubuntu_20_10_aarch64:
-    # Run on push to the 'master' and release branches of tarantool/tarantool
-    # or on pull request if the 'full-ci' label is set.
-    if: github.repository == 'tarantool/tarantool' &&
-        ( github.event_name != 'pull_request' ||
-          contains(github.event.pull_request.labels.*.name, 'full-ci') )
-
-    runs-on: graviton
-
-    steps:
-      - uses: actions/checkout@v2.3.4
-        with:
-          fetch-depth: 0
-          submodules: recursive
-      - uses: ./.github/actions/environment
-      - name: packaging
-        env:
-          RWS_AUTH: ${{ secrets.RWS_AUTH }}
-          OS: 'ubuntu'
-          DIST: 'groovy'
-        uses: ./.github/actions/pack_and_deploy
-      - name: call action to send Telegram message on failure
-        env:
-          TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_CORE_TOKEN }}
-          TELEGRAM_TO: ${{ secrets.TELEGRAM_CORE_TO }}
-        uses: ./.github/actions/send-telegram-notify
-        if: failure()
-      - name: artifacts
-        uses: actions/upload-artifact@v2
-        if: failure()
-        with:
-          name: ubuntu-groovy
-          retention-days: 21
-          path: ${{ env.VARDIR }}/artifacts
diff --git a/.github/workflows/ubuntu_21_04.yml b/.github/workflows/ubuntu_21_04.yml
deleted file mode 100644
index c4e58dc7f7..0000000000
--- a/.github/workflows/ubuntu_21_04.yml
+++ /dev/null
@@ -1,74 +0,0 @@
-name: ubuntu_21_04
-
-on:
-  push:
-    branches:
-      - 'master'
-      - '[0-9].[0-9]+'
-    tags:
-      - '**'
-  pull_request:
-    types: [opened, reopened, synchronize, labeled]
-  workflow_dispatch:
-
-concurrency:
-  # Update of a developer branch cancels the previously scheduled workflow
-  # run for this branch. However, the 'master' branch, release branch (1.10,
-  # 2.8, etc.), and tag workflow runs are never canceled.
-  #
-  # We use a trick here: define the concurrency group as 'workflow run ID' +
-  # 'workflow run attempt' because it is a unique combination for any run.
-  # So it effectively discards grouping.
-  #
-  # Important: we cannot use `github.sha` as a unique identifier because
-  # pushing a tag may cancel a run that works on a branch push event.
-  group: ${{ (
-    github.ref == 'refs/heads/master' ||
-    github.ref == 'refs/heads/1.10' ||
-    startsWith(github.ref, 'refs/heads/2.') ||
-    startsWith(github.ref, 'refs/tags/')) &&
-    format('{0}-{1}', github.run_id, github.run_attempt) ||
-    format('{0}-{1}', github.workflow, github.ref) }}
-  cancel-in-progress: true
-
-jobs:
-  ubuntu_21_04:
-    # Run on push to the 'master' and release branches of tarantool/tarantool
-    # or on pull request if the 'full-ci' label is set.
-    if: github.repository == 'tarantool/tarantool' &&
-        ( github.event_name != 'pull_request' ||
-          contains(github.event.pull_request.labels.*.name, 'full-ci') )
-
-    runs-on: ubuntu-20.04-self-hosted
-
-    strategy:
-      fail-fast: false
-      matrix:
-        build-type: [ '', 'gc64' ]
-
-    steps:
-      - uses: actions/checkout@v2.3.4
-        with:
-          fetch-depth: 0
-          submodules: recursive
-      - uses: ./.github/actions/environment
-      - name: packaging
-        env:
-          RWS_AUTH: ${{ secrets.RWS_AUTH }}
-          OS: 'ubuntu'
-          DIST: 'hirsute'
-          GC64: ${{ matrix.build-type == 'gc64' }}
-        uses: ./.github/actions/pack_and_deploy
-      - name: call action to send Telegram message on failure
-        env:
-          TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_CORE_TOKEN }}
-          TELEGRAM_TO: ${{ secrets.TELEGRAM_CORE_TO }}
-        uses: ./.github/actions/send-telegram-notify
-        if: failure()
-      - name: artifacts
-        uses: actions/upload-artifact@v2
-        if: failure()
-        with:
-          name: ubuntu-hirsute
-          retention-days: 21
-          path: build/usr/src/*/tarantool-*/test/var/artifacts
diff --git a/.github/workflows/ubuntu_21_04_aarch64.yml b/.github/workflows/ubuntu_21_04_aarch64.yml
deleted file mode 100644
index 4eed2a9421..0000000000
--- a/.github/workflows/ubuntu_21_04_aarch64.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-name: ubuntu_21_04_aarch64
-
-on:
-  push:
-    branches:
-      - 'master'
-      - '[0-9].[0-9]+'
-    tags:
-      - '**'
-  pull_request:
-    types: [opened, reopened, synchronize, labeled]
-  workflow_dispatch:
-
-concurrency:
-  # Update of a developer branch cancels the previously scheduled workflow
-  # run for this branch. However, the 'master' branch, release branch (1.10,
-  # 2.8, etc.), and tag workflow runs are never canceled.
-  #
-  # We use a trick here: define the concurrency group as 'workflow run ID' +
-  # 'workflow run attempt' because it is a unique combination for any run.
-  # So it effectively discards grouping.
-  #
-  # Important: we cannot use `github.sha` as a unique identifier because
-  # pushing a tag may cancel a run that works on a branch push event.
-  group: ${{ (
-    github.ref == 'refs/heads/master' ||
-    github.ref == 'refs/heads/1.10' ||
-    startsWith(github.ref, 'refs/heads/2.') ||
-    startsWith(github.ref, 'refs/tags/')) &&
-    format('{0}-{1}', github.run_id, github.run_attempt) ||
-    format('{0}-{1}', github.workflow, github.ref) }}
-  cancel-in-progress: true
-
-jobs:
-  ubuntu_21_04_aarch64:
-    # Run on push to the 'master' and release branches of tarantool/tarantool
-    # or on pull request if the 'full-ci' label is set.
-    if: github.repository == 'tarantool/tarantool' &&
-        ( github.event_name != 'pull_request' ||
-          contains(github.event.pull_request.labels.*.name, 'full-ci') )
-
-    runs-on: graviton
-
-    steps:
-      - uses: actions/checkout@v2.3.4
-        with:
-          fetch-depth: 0
-          submodules: recursive
-      - uses: ./.github/actions/environment
-      - name: packaging
-        env:
-          RWS_AUTH: ${{ secrets.RWS_AUTH }}
-          OS: 'ubuntu'
-          DIST: 'hirsute'
-        uses: ./.github/actions/pack_and_deploy
-      - name: call action to send Telegram message on failure
-        env:
-          TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_CORE_TOKEN }}
-          TELEGRAM_TO: ${{ secrets.TELEGRAM_CORE_TO }}
-        uses: ./.github/actions/send-telegram-notify
-        if: failure()
-      - name: artifacts
-        uses: actions/upload-artifact@v2
-        if: failure()
-        with:
-          name: ubuntu-hirsute
-          retention-days: 21
-          path: ${{ env.VARDIR }}/artifacts
diff --git a/changelogs/unreleased/drop-ubuntu-groovy-hirsute-ci-cd.md b/changelogs/unreleased/drop-ubuntu-groovy-hirsute-ci-cd.md
new file mode 100644
index 0000000000..14478d9c9a
--- /dev/null
+++ b/changelogs/unreleased/drop-ubuntu-groovy-hirsute-ci-cd.md
@@ -0,0 +1,3 @@
+## feature/build
+
+* Stop support of Ubuntu Groovy/Hirsute (20.10/21.04) builds.
-- 
GitLab