[Tarantool-patches] [PATCH v1] github-ci: build packages for debian-bullseye

Alexander V. Tikhonov avtikhon at tarantool.org
Mon Dec 28 00:56:15 MSK 2020


Cc: tarantool-patches at dev.tarantool.org

Added package workflow to github actions. Set deployment of the
packages for the master branch and tags.

Closes #5638
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/debian-11
Issue: https://github.com/tarantool/tarantool/issues/5638

This commit can be pushed only after commit:
  "build: allow packpack's build for Debian 11 (bullseye)"

 .github/workflows/package_deploy.yml | 74 ++++++++++++++++++++++++++++
 tools/update_repo.sh                 |  2 +-
 2 files changed, 75 insertions(+), 1 deletion(-)
 create mode 100644 .github/workflows/package_deploy.yml

diff --git a/.github/workflows/package_deploy.yml b/.github/workflows/package_deploy.yml
new file mode 100644
index 000000000..4caac5da1
--- /dev/null
+++ b/.github/workflows/package_deploy.yml
@@ -0,0 +1,74 @@
+name: package_deploy
+
+on: [push, pull_request]
+
+env:
+  CI_MAKE: make -f .gitlab.mk
+
+jobs:
+  # By default jobs on push and pull_request filters run duplicating each other.
+  # To avoid of it used additional external module 'skip-duplicate-actions'.
+  # Used option 'concurrent_skipping' to skip duplicating jobs. Check info:
+  # https://github.com/marketplace/actions/skip-duplicate-actions#concurrent_skipping
+  pre_job:
+    continue-on-error: true
+    runs-on: ubuntu-latest
+    # Map a step output to a job output
+    outputs:
+      should_skip: ${{ steps.skip_check.outputs.should_skip }}
+    steps:
+      - id: skip_check
+        uses: fkirc/skip-duplicate-actions at master
+        with:
+          # avoid of skipping previous jobs for outdated commits
+          cancel_others: 'false'
+          # avoid of duplicating runs on "push & pull_request"
+          concurrent_skipping: 'same_content'
+
+  debian:
+    needs: pre_job
+    if: |
+      needs.pre_job.outputs.should_skip != 'true' ||
+      github.event_name == 'push'
+
+    runs-on: ubuntu-latest
+
+    strategy:
+      fail-fast: false
+
+    steps:
+      - uses: actions/checkout at v2.3.4
+        with:
+          fetch-depth: 0
+          submodules: recursive
+      - name: Install packages required for publishing to S3
+        run: |
+          sudo apt-get -y update
+          sudo apt-get install -y procmail createrepo awscli reprepro
+      - name: Import GPG key
+        run: |
+          mkdir -p ~/.gnupg
+          echo 'digest-algo sha256' >> ~/.gnupg/gpg.conf
+          #gpg --import <(echo "${{ secrets.GPG_KEY }}")
+      - name: test
+        env:
+          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+          AWS_S3_ENDPOINT_URL: ${{ secrets.AWS_S3_ENDPOINT_URL }}
+          LIVE_REPO_S3_DIR: ${{ secrets.LIVE_REPO_S3_DIR }}
+          RELEASE_REPO_S3_DIR: ${{ secrets.RELEASE_REPO_S3_DIR }}
+          GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
+          GPG_SIGN_KEY: ${{ secrets.GPG_SIGN_KEY }}
+        run: |
+          if ${{ github.event_name == 'push' && ( github.ref == 'ref/head/master' || startsWith(github.ref, 'refs/tags') ) }} ; then
+            OS=debian DIST=bullseye ${CI_MAKE} deploy
+          else
+            OS=debian DIST=bullseye ${CI_MAKE} package
+          fi
+      - name: artifacts
+        uses: actions/upload-artifact at v2
+        if: failure()
+        with:
+          name: debian-bullseye
+          retention-days: 1000000
+          path: test/var/artifacts
diff --git a/tools/update_repo.sh b/tools/update_repo.sh
index edd13b4bc..5f7553827 100755
--- a/tools/update_repo.sh
+++ b/tools/update_repo.sh
@@ -26,7 +26,7 @@ function get_os_dists {
     if [ "$os" == "ubuntu" ]; then
         alldists='trusty xenial bionic disco eoan focal'
     elif [ "$os" == "debian" ]; then
-        alldists='jessie stretch buster'
+        alldists='jessie stretch buster bullseye'
     elif [ "$os" == "el" ]; then
         alldists='6 7 8'
     elif [ "$os" == "fedora" ]; then
-- 
2.25.1



More information about the Tarantool-patches mailing list