Build and Test #3032
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event_name }} | |
cancel-in-progress: true | |
on: | |
push: | |
tags: | |
- "v*.*.*-rc*" | |
- "v*.*-rc*" | |
schedule: | |
- cron: "0 1 * * *" #UTC | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
arch: | |
description: "Architecture to build the image for (amd64/arm64)" | |
type: choice | |
default: "amd64" | |
options: | |
- "amd64" | |
- "arm64" | |
build_target: | |
description: "Mage build target" | |
type: choice | |
default: "prod" | |
options: | |
- "prod" | |
- "dev" | |
build_scope: | |
description: "Mage build scope" | |
type: choice | |
default: "with ML" | |
options: | |
- "with ML" | |
- "without ML" | |
memgraph_version: | |
description: "Memgraph version built into this image (format: X.Y.Z). You can leave empty if using custom download link." | |
type: string | |
required: false | |
memgraph_download_link: | |
description: "Memgraph package download link. Leave empty to use the official download link." | |
type: string | |
required: false | |
memgraph_ref: | |
type: string | |
description: "Memgraph submodule branch to build query modules from" | |
default: 'master' | |
memgraph_ref_update: | |
type: boolean | |
description: "Update Memgraph submodule to the latest commit" | |
default: true | |
jobs: | |
RC_test: | |
if: github.ref_type == 'tag' | |
strategy: | |
fail-fast: false | |
matrix: | |
mg_version: ["2.21.0"] | |
mg_rc_version: ["rc1"] | |
arch: ["amd64", "arm64"] | |
build_target: ["prod", "dev"] | |
build_scope: ["with ML", "without ML"] | |
uses: ./.github/workflows/reusable_test.yml | |
with: | |
arch: "${{ matrix.arch }}" | |
build_target: "${{ matrix.build_target }}" | |
build_scope: "${{ matrix.build_scope }}" | |
memgraph_ref: "v${{ matrix.mg_version }}-${{ matrix.mg_rc_version }}" | |
memgraph_ref_update: "false" | |
memgraph_download_link: "s3://deps.memgraph.io/memgraph/v${{ matrix.mg_version }}-${{ matrix.mg_rc_version }}/debian-11${{ matrix.arch == 'arm64' && '-aarch64' || '' }}${{ matrix.build_scope == 'dev' && '-relwithdebinfo' || '' }}/memgraph_${{ matrix.mg_version }}-1_${{ matrix.arch }}.deb" | |
secrets: inherit | |
PR_test: | |
if: github.event_name == 'pull_request' | |
strategy: | |
fail-fast: false | |
matrix: | |
arch: ["amd64"] | |
build_target: ["prod"] | |
build_scope: ["with ML", "without ML"] | |
uses: ./.github/workflows/reusable_test.yml | |
with: | |
arch: "${{ matrix.arch }}" | |
build_target: "${{ matrix.build_target }}" | |
build_scope: "${{ matrix.build_scope }}" | |
memgraph_version: "2.21.0" | |
memgraph_ref: "master" | |
memgraph_ref_update: "true" | |
secrets: inherit | |
Manual_test: | |
if: github.event_name == 'workflow_dispatch' | |
uses: ./.github/workflows/reusable_test.yml | |
with: | |
arch: "${{ github.event.inputs.arch }}" | |
build_target: "${{ github.event.inputs.build_target }}" | |
build_scope: "${{ github.event.inputs.build_scope }}" | |
memgraph_version: "${{ github.event.inputs.memgraph_version }}" | |
memgraph_download_link: "${{ github.event.inputs.memgraph_download_link }}" | |
memgraph_ref: "${{ github.event.inputs.memgraph_ref }}" | |
memgraph_ref_update: "${{ github.event.inputs.memgraph_ref_update }}" | |
secrets: inherit | |
Nightly_test: | |
if: github.event_name == 'schedule' | |
strategy: | |
fail-fast: false | |
matrix: | |
arch: ["amd64", "arm64"] | |
build_target: ["prod", "dev"] | |
build_scope: ["with ML", "without ML"] | |
uses: ./.github/workflows/reusable_test.yml | |
with: | |
arch: "${{ matrix.arch }}" | |
build_target: "${{ matrix.build_target }}" | |
build_scope: "${{ matrix.build_scope }}" | |
memgraph_version: "2.21.0" | |
memgraph_ref: "master" | |
memgraph_ref_update: "true" | |
secrets: inherit |