diff --git a/.github/workflows/ubuntu_22_04.yml b/.github/workflows/ubuntu_22_04.yml new file mode 100644 index 0000000000000000000000000000000000000000..9bc30a5da4d8ff9f7d017bccbba40f32d6694d6d --- /dev/null +++ b/.github/workflows/ubuntu_22_04.yml @@ -0,0 +1,74 @@ +name: ubuntu_22_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_22_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: 'jammy' + 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-jammy + retention-days: 21 + path: ${{ env.VARDIR }}/artifacts diff --git a/.github/workflows/ubuntu_22_04_aarch64.yml b/.github/workflows/ubuntu_22_04_aarch64.yml new file mode 100644 index 0000000000000000000000000000000000000000..24e16b6f51b3c9a453735868f1291cfe88854bf7 --- /dev/null +++ b/.github/workflows/ubuntu_22_04_aarch64.yml @@ -0,0 +1,68 @@ +name: ubuntu_22_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_22_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: 'jammy' + 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-jammy + retention-days: 21 + path: ${{ env.VARDIR }}/artifacts