memgraph/.github/workflows/package_memgraph.yaml
2024-03-19 19:06:02 +01:00

314 lines
11 KiB
YAML

name: Package memgraph
on:
workflow_dispatch:
inputs:
memgraph_version:
description: "Memgraph version to upload as. Leave this field empty if you don't want to upload binaries to S3. Format: 'X.Y.Z'"
required: false
build_type:
type: choice
description: "Memgraph Build type. Default value is Release"
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 is Debian 11"
default: 'debian-11'
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 is v5"
default: 'v5'
options:
- v4
- v5
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
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
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
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
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
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"
secrets: inherit
Debian11-arm:
if: ${{ github.event.inputs.target_os == 'debian-11-arm' || github.event.inputs.target_os == 'all' }}
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"
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
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"
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"
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"
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"
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"
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
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
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
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
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
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
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
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"
secrets: inherit