Skip to content

Add PostgreSQL + Sysbench TPC-C workload #385

Add PostgreSQL + Sysbench TPC-C workload

Add PostgreSQL + Sysbench TPC-C workload #385

Workflow file for this run

name: build-and-push-docker-image
on:
push:
branches:
- main
- dev
pull_request:
branches:
- main
- dev
env:
PUSH_COMMIT_RANGE: ${{ github.event.before }}...${{ github.event.after }}
PR_COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }}
DOCKER_USER: ${{ secrets.DOCKER_HUB_USERNAME }}
DOCKER_PASS: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
FORCE_PUSH: "false"
jobs:
base-os:
runs-on: ubuntu-latest
env:
DH_REPO: "cloudsuite/${{ github.job }}"
DF_PATH: "./commons/base-os"
DBX_PLATFORM: "linux/amd64,linux/arm64,linux/riscv64"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "ubuntu"
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
java:
runs-on: ubuntu-latest
needs: base-os
env:
DH_REPO: "cloudsuite/${{ github.job }}"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
strategy:
matrix:
include:
- tag: "openjdk11"
platform: "linux/amd64,linux/arm64,linux/riscv64"
- tag: "openjdk17"
platform: "linux/amd64,linux/arm64,linux/riscv64"
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.base-os.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./commons/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
mysql:
runs-on: ubuntu-latest
needs: base-os
env:
DH_REPO: "cloudsuite/${{ github.job }}"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
strategy:
matrix:
tag: ["mariadb-10.6"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.base-os.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./commons/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
memcached:
runs-on: ubuntu-latest
needs: base-os
env:
DH_REPO: "cloudsuite/${{ github.job }}"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
strategy:
matrix:
tag: ["1.6.15"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.base-os.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./commons/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
faban:
runs-on: ubuntu-latest
needs: java
env:
DH_REPO: "cloudsuite/${{ github.job }}"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
strategy:
matrix:
tag: ["1.4"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.java.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./commons/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
spark:
runs-on: ubuntu-latest
needs: java
env:
DH_REPO: "cloudsuite/${{ github.job }}"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
strategy:
matrix:
tag: ["3.3.2"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.java.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./commons/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
cassandra:
runs-on: ubuntu-latest
needs: java
env:
DH_REPO: "cloudsuite/${{ github.job }}"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
strategy:
matrix:
tag: ["3.11.6"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.java.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./commons/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
hadoop:
runs-on: ubuntu-latest
needs: java
env:
DH_REPO: "cloudsuite/${{ github.job }}"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
strategy:
matrix:
tag: ["2.10.2", "3.3.4"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.java.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./commons/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
postgresql:
runs-on: ubuntu-latest
needs: base-os
env:
DH_REPO: "cloudsuite/${{ github.job }}"
outputs:
is_parent_modified: ${{ steps.set_is_parent_modified.outputs.is_parent_modified }}
strategy:
matrix:
tag: ["15"]
platform: ["linux/amd64,linux/arm64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.java.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./commons/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
- id: set_is_parent_modified
run: echo "is_parent_modified=${MODIFIED}" >> $GITHUB_OUTPUT
data-analytics:
runs-on: ubuntu-latest
needs: hadoop
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["latest"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.hadoop.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
data-caching:
runs-on: ubuntu-latest
needs: memcached
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
include:
- tag: "server"
platform: "linux/amd64,linux/arm64,linux/riscv64"
- tag: "client"
platform: "linux/amd64,linux/arm64,linux/riscv64"
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.memcached.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
data-serving:
runs-on: ubuntu-latest
needs: cassandra
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["server", "client"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.cassandra.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
data-serving-relational:
runs-on: ubuntu-latest
needs: postgresql
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["server", "client"]
platform: ["linux/amd64,linux/arm64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.cassandra.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
graph-analytics:
runs-on: ubuntu-latest
needs: spark
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["latest"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.spark.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
in-memory-analytics:
runs-on: ubuntu-latest
needs: spark
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["latest"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.spark.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
media-streaming:
runs-on: ubuntu-latest
needs: base-os
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["client", "server", "dataset"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.base-os.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
web-search:
runs-on: ubuntu-latest
needs: faban
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["client", "server", "dataset"]
platform: ["linux/amd64,linux/arm64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.faban.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
web-serving:
runs-on: ubuntu-latest
needs: [faban, mysql, memcached]
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["db_server", "faban_client", "memcached_server", "web_server"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.faban.outputs.is_parent_modified == 'true' ||
needs.mysql.outputs.is_parent_modified == 'true' ||
needs.memcached.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./benchmarks/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
movielens-dataset:
runs-on: ubuntu-latest
needs: base-os
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["latest"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.base-os.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./datasets/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
twitter-dataset-graph:
runs-on: ubuntu-latest
needs: base-os
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["latest"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.base-os.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./datasets/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}
wikimedia-pages-dataset:
runs-on: ubuntu-latest
needs: base-os
env:
DH_REPO: "cloudsuite/${{ github.job }}"
strategy:
matrix:
tag: ["latest"]
platform: ["linux/amd64,linux/arm64,linux/riscv64"]
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- if: ${{ needs.base-os.outputs.is_parent_modified == 'true' }}
run: echo "IS_PARENT_MODIFIED=true" >> $GITHUB_ENV
- name: build and push
run: "./.github/scripts/build-images.sh"
env:
IMG_TAG: "${{ matrix.tag }}"
DF_PATH: "./datasets/${{ github.job }}/${{ matrix.tag }}"
DBX_PLATFORM: ${{ matrix.platform }}