667e7f670e
The Release is the default, it's also possible to run package_all with RelWithDebInfo
264 lines
8.6 KiB
YAML
264 lines
8.6 KiB
YAML
name: Package All
|
|
|
|
# TODO(gitbuda): Cleanup docker container if GHA job was canceled.
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
memgraph_version:
|
|
description: "Memgraph version to upload as. If empty upload is skipped. Format: 'X.Y.Z'"
|
|
required: false
|
|
build_type:
|
|
type: choice
|
|
description: "Memgraph Build type. Default value is Release."
|
|
default: 'Release'
|
|
options:
|
|
- Release
|
|
- RelWithDebInfo
|
|
|
|
jobs:
|
|
centos-7:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package centos-7 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: centos-7
|
|
path: build/output/centos-7/memgraph*.rpm
|
|
|
|
centos-9:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package centos-9 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: centos-9
|
|
path: build/output/centos-9/memgraph*.rpm
|
|
|
|
debian-10:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package debian-10 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: debian-10
|
|
path: build/output/debian-10/memgraph*.deb
|
|
|
|
debian-11:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package debian-11 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: debian-11
|
|
path: build/output/debian-11/memgraph*.deb
|
|
|
|
docker:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
cd release/package
|
|
./run.sh package debian-11 ${{ github.event.inputs.build_type }} --for-docker
|
|
./run.sh docker
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: docker
|
|
path: build/output/docker/memgraph*.tar.gz
|
|
|
|
ubuntu-1804:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package ubuntu-18.04 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ubuntu-18.04
|
|
path: build/output/ubuntu-18.04/memgraph*.deb
|
|
|
|
ubuntu-2004:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package ubuntu-20.04 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ubuntu-20.04
|
|
path: build/output/ubuntu-20.04/memgraph*.deb
|
|
|
|
ubuntu-2204:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package ubuntu-22.04 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ubuntu-22.04
|
|
path: build/output/ubuntu-22.04/memgraph*.deb
|
|
|
|
debian-11-platform:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package debian-11 ${{ github.event.inputs.build_type }} --for-platform
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: debian-11-platform
|
|
path: build/output/debian-11/memgraph*.deb
|
|
|
|
fedora-36:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package fedora-36 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: fedora-36
|
|
path: build/output/fedora-36/memgraph*.rpm
|
|
|
|
amzn-2:
|
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package amzn-2 ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: amzn-2
|
|
path: build/output/amzn-2/memgraph*.rpm
|
|
|
|
debian-11-arm:
|
|
runs-on: [self-hosted, DockerMgBuild, ARM64, strange]
|
|
timeout-minutes: 120
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package debian-11-arm ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: debian-11-aarch64
|
|
path: build/output/debian-11-arm/memgraph*.deb
|
|
|
|
ubuntu-2204-arm:
|
|
runs-on: [self-hosted, DockerMgBuild, ARM64, strange]
|
|
timeout-minutes: 120
|
|
steps:
|
|
- name: "Set up repository"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Required because of release/get_version.py
|
|
- name: "Build package"
|
|
run: |
|
|
./release/package/run.sh package ubuntu-22.04-arm ${{ github.event.inputs.build_type }}
|
|
- name: "Upload package"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ubuntu-22.04-aarch64
|
|
path: build/output/ubuntu-22.04-arm/memgraph*.deb
|
|
|
|
upload-to-s3:
|
|
# only run upload if we specified version. Allows for runs without upload
|
|
if: "${{ github.event.inputs.memgraph_version != '' }}"
|
|
needs: [centos-7, centos-9, debian-10, debian-11, docker, ubuntu-1804, ubuntu-2004, ubuntu-2204, debian-11-platform, fedora-36, amzn-2, debian-11-arm, ubuntu-2204-arm]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
# name: # if name input parameter is not provided, all artifacts are downloaded
|
|
# and put in directories named after each one.
|
|
path: build/output/release
|
|
- name: Upload to S3
|
|
uses: jakejarvis/s3-sync-action@v0.5.1
|
|
env:
|
|
AWS_S3_BUCKET: "download.memgraph.com"
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.S3_AWS_ACCESS_KEY_ID }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_AWS_SECRET_ACCESS_KEY }}
|
|
AWS_REGION: "eu-west-1"
|
|
SOURCE_DIR: "build/output/release"
|
|
DEST_DIR: "memgraph/v${{ github.event.inputs.memgraph_version }}/"
|