Add PostgreSQL + Sysbench TPC-C workload #384
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-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 }} |