415 lines
16 KiB
YAML
415 lines
16 KiB
YAML
name: Package memgraph
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
build_type:
|
|
type: choice
|
|
description: "Memgraph Build type."
|
|
default: 'Release'
|
|
options:
|
|
- Release
|
|
- RelWithDebInfo
|
|
target_os:
|
|
type: choice
|
|
description: "Target OS for which memgraph will be packaged. Select 'all' if you want to package for every listed OS."
|
|
default: 'debian-12'
|
|
options:
|
|
- all
|
|
- amzn-2
|
|
- centos-7
|
|
- centos-9
|
|
- debian-10
|
|
- debian-11
|
|
- debian-11-arm
|
|
- debian-11-platform
|
|
- debian-12
|
|
- debian-12-arm
|
|
- docker
|
|
- docker-arm
|
|
- fedora-36
|
|
- fedora-38
|
|
- fedora-39
|
|
- rocky-9.3
|
|
- ubuntu-18.04
|
|
- ubuntu-20.04
|
|
- ubuntu-22.04
|
|
- ubuntu-22.04-arm
|
|
toolchain:
|
|
type: choice
|
|
description: "Toolchain version with which memgraph will be packaged."
|
|
default: 'v5'
|
|
options:
|
|
- v4
|
|
- v5
|
|
push_to_s3:
|
|
type: boolean
|
|
description: "Push final packages to an S3 bucket?"
|
|
default: false
|
|
s3_bucket:
|
|
type: choice
|
|
description: "Name of the target S3 bucket. Select 'download.memgraph.io' for official and 'deps.memgraph.io' for unofficial packages."
|
|
default: 'download.memgraph.io'
|
|
options:
|
|
- download.memgraph.com
|
|
- deps.memgraph.io
|
|
s3_region:
|
|
type: choice
|
|
description: "Region for the target S3 bucket."
|
|
options:
|
|
- eu-west-1
|
|
s3_dest_dir:
|
|
type: string
|
|
description: "Target dir path in S3 bucket. For official packages use format 'memgraph/X.Y.Z/'. For unofficial packages use format 'memgraph-unofficial/<SOMETHING>/'."
|
|
default: ''
|
|
|
|
jobs:
|
|
AmazonLinux2:
|
|
if: ${{ github.event.inputs.target_os == 'amzn-2' || github.event.inputs.target_os == 'all' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "amzn-2"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
CentOS7:
|
|
if: ${{ github.event.inputs.target_os == 'centos-7' || github.event.inputs.target_os == 'all' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "centos-7"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
CentOS9:
|
|
if: ${{ github.event.inputs.target_os == 'centos-9' || github.event.inputs.target_os == 'all' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "centos-9"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Debian10:
|
|
if: ${{ (github.event.inputs.target_os == 'debian-10' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v4' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "debian-10"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Debian11:
|
|
if: ${{ github.event.inputs.target_os == 'debian-11' || github.event.inputs.target_os == 'all' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "debian-11"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Debian11-platform:
|
|
if: ${{ github.event.inputs.target_os == 'debian-11-platform' || github.event.inputs.target_os == 'all' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "debian-11"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
additional_build_args: "--for-platform"
|
|
artifact_name: "debian-11-platform"
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Debian11-arm:
|
|
if: ${{ (github.event.inputs.target_os == 'debian-11-arm' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v4' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "debian-11-arm"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "arm"
|
|
runner_arch_label: "ARM64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 120
|
|
artifact_name: "debian-11-aarch64"
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Debian12:
|
|
if: ${{ (github.event.inputs.target_os == 'debian-12' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v5' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "debian-12"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Debian12-arm:
|
|
if: ${{ (github.event.inputs.target_os == 'debian-12-arm' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v5' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "debian-12-arm"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "arm"
|
|
runner_arch_label: "ARM64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 120
|
|
artifact_name: "debian-12-aarch64"
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Docker-v4:
|
|
if: ${{ (github.event.inputs.target_os == 'docker' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v4' }}
|
|
uses: ./.github/workflows/reusable_docker_package.yaml
|
|
with:
|
|
os: "debian-11"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
additional_build_args: "--for-docker"
|
|
artifact_name: "docker"
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Docker-v5:
|
|
if: ${{ (github.event.inputs.target_os == 'docker' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v5' }}
|
|
uses: ./.github/workflows/reusable_docker_package.yaml
|
|
with:
|
|
os: "debian-12"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
additional_build_args: "--for-docker"
|
|
artifact_name: "docker"
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Docker-v4-arm:
|
|
if: ${{ (github.event.inputs.target_os == 'docker-arm' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v4' }}
|
|
uses: ./.github/workflows/reusable_docker_package.yaml
|
|
with:
|
|
os: "debian-11-arm"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "arm"
|
|
runner_arch_label: "ARM64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 120
|
|
additional_build_args: "--for-docker"
|
|
artifact_name: "docker-aarch64"
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Docker-v5-arm:
|
|
if: ${{ (github.event.inputs.target_os == 'docker-arm' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v5' }}
|
|
uses: ./.github/workflows/reusable_docker_package.yaml
|
|
with:
|
|
os: "debian-12-arm"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "arm"
|
|
runner_arch_label: "ARM64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 120
|
|
additional_build_args: "--for-docker"
|
|
artifact_name: "docker-aarch64"
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Fedora36:
|
|
if: ${{ (github.event.inputs.target_os == 'fedora-36' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v4' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "fedora-36"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Fedora38:
|
|
if: ${{ (github.event.inputs.target_os == 'fedora-38' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v5' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "fedora-38"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Fedora39:
|
|
if: ${{ (github.event.inputs.target_os == 'fedora-39' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v5' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "fedora-39"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
RockyLinux9_3:
|
|
if: ${{ (github.event.inputs.target_os == 'rocky-9.3' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v5' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "rocky-9.3"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Ubuntu18_04:
|
|
if: ${{ (github.event.inputs.target_os == 'ubuntu-18.04' || github.event.inputs.target_os == 'all') && github.event.inputs.toolchain == 'v4' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "ubuntu-18.04"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Ubuntu20_04:
|
|
if: ${{ github.event.inputs.target_os == 'ubuntu-20.04' || github.event.inputs.target_os == 'all' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "ubuntu-20.04"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Ubuntu22_04:
|
|
if: ${{ github.event.inputs.target_os == 'ubuntu-22.04' || github.event.inputs.target_os == 'all' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "ubuntu-22.04"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "amd"
|
|
runner_arch_label: "X64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 60
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|
|
|
|
Ubuntu22_04-arm:
|
|
if: ${{ github.event.inputs.target_os == 'ubuntu-22.04-arm' || github.event.inputs.target_os == 'all' }}
|
|
uses: ./.github/workflows/reusable_package.yaml
|
|
with:
|
|
os: "ubuntu-22.04-arm"
|
|
toolchain: ${{ github.event.inputs.toolchain }}
|
|
arch: "arm"
|
|
runner_arch_label: "ARM64"
|
|
build_type: ${{ github.event.inputs.build_type }}
|
|
timeout_minutes: 120
|
|
artifact_name: "ubuntu-22.04-aarch64"
|
|
push_to_s3: ${{ github.event.inputs.push_to_s3 }}
|
|
s3_bucket: ${{ github.event.inputs.s3_bucket }}
|
|
s3_region: ${{ github.event.inputs.s3_region }}
|
|
s3_dest_dir: ${{ github.event.inputs.s3_dest_dir }}
|
|
secrets: inherit
|