ci: integrate install dependencies script of Interactive into gsctl #270
Workflow file for this run
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 GraphScope Dev Images | |
# build images for: | |
# 1) graphscope-dev: including all dependencies for graphscope development env. | |
# 2) vineyard-dev: including all vineyard-related dependencies that could compile graphscope analytical engine. | |
# 3) vineyard-runtime: including all vineyard-related running dependencies. | |
# 4) `graphscope-dev:wheel`: including all dependencies for building graphscope wheel package | |
on: | |
workflow_dispatch: | |
inputs: | |
v6d_version: | |
description: 'Version for Vineyard (v6d)' | |
required: true | |
default: 'main' | |
build_graphscope_dev: | |
description: 'Whether to build graphscope-dev image' | |
required: true | |
default: true | |
type: boolean | |
build_vineyard_dev: | |
description: 'Whether to build vineyard-dev(runtime) image' | |
required: true | |
default: true | |
type: boolean | |
build_graphscope_dev_wheel: | |
description: 'Whether to build graphscope-dev:wheel image' | |
required: true | |
default: true | |
type: boolean | |
pull_request: | |
branches: | |
- main | |
paths: | |
- 'python/graphscope/gsctl/scripts/**' | |
- '.github/workflows/build-graphscope-dev-images.yml' | |
concurrency: | |
group: ${{ github.repository }}-${{ github.event.number || github.head_ref || github.sha }}-${{ github.workflow }} | |
cancel-in-progress: true | |
env: | |
REGISTRY: registry.cn-hongkong.aliyuncs.com | |
jobs: | |
build-graphscope-dev-wheel-image-amd64: | |
if: (github.event_name == 'workflow_dispatch' && github.event.inputs.build_graphscope_dev_wheel == 'true') || (github.event_name == 'pull_request') | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Build Image | |
run: | | |
# build wheel image with specified v6d's version | |
cd ${GITHUB_WORKSPACE}/k8s | |
VINEYARD_VERSION=${{ github.event.inputs.v6d_version }} | |
if [[ -n ${VINEYARD_VERSION} ]]; then | |
# graphscope/graphscope-dev:wheel-<v6d_version>-amd64 | |
make dev-wheel VINEYARD_VERSION=${VINEYARD_VERSION} | |
else | |
# pull_request: use default vineyard_version | |
make dev-wheel | |
fi | |
- name: Release Image | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
env: | |
docker_password: ${{ secrets.DOCKER_PASSWORD }} | |
docker_username: ${{ secrets.DOCKER_USER }} | |
run: | | |
echo "${docker_password}" | sudo docker login --username="${docker_username}" ${{ env.REGISTRY }} --password-stdin | |
VINEYARD_VERSION=${{ github.event.inputs.v6d_version }} | |
sudo docker tag graphscope/graphscope-dev:wheel-${VINEYARD_VERSION}-amd64 ${{ env.REGISTRY }}/graphscope/graphscope-dev:wheel-${VINEYARD_VERSION}-amd64 | |
sudo docker push ${{ env.REGISTRY }}/graphscope/graphscope-dev:wheel-${VINEYARD_VERSION}-amd64 | |
build-graphscope-dev-image-amd64: | |
if: (github.event_name == 'workflow_dispatch' && github.event.inputs.build_graphscope_dev == 'true') || (github.event_name == 'pull_request') | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Build Image | |
run: | | |
# build graphscope dev image with specified v6d version | |
cd ${GITHUB_WORKSPACE}/k8s | |
VINEYARD_VERSION=${{ github.event.inputs.v6d_version }} | |
if [[ -n ${VINEYARD_VERSION} ]]; then | |
# graphscope/graphscope-dev:<v6d_version>-amd64 | |
make graphscope-dev VINEYARD_VERSION=${VINEYARD_VERSION} | |
else | |
# pull_request: use default vineyard_version | |
make graphscope-dev | |
fi | |
- name: Release Image | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
env: | |
docker_password: ${{ secrets.DOCKER_PASSWORD }} | |
docker_username: ${{ secrets.DOCKER_USER }} | |
run: | | |
echo "${docker_password}" | sudo docker login --username="${docker_username}" ${{ env.REGISTRY }} --password-stdin | |
VINEYARD_VERSION=${{ github.event.inputs.v6d_version }} | |
sudo docker tag graphscope/graphscope-dev:${VINEYARD_VERSION}-amd64 ${{ env.REGISTRY }}/graphscope/graphscope-dev:${VINEYARD_VERSION}-amd64 | |
sudo docker push ${{ env.REGISTRY }}/graphscope/graphscope-dev:${VINEYARD_VERSION}-amd64 | |
build-vineyard-dev-image-amd64: | |
if: (github.event_name == 'workflow_dispatch' && github.event.inputs.build_vineyard_dev == 'true') || (github.event_name == 'pull_request') | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Build Image | |
run: | | |
# build vineyard dev image with specified v6d version | |
cd ${GITHUB_WORKSPACE}/k8s | |
VINEYARD_VERSION=${{ github.event.inputs.v6d_version }} | |
if [[ -n ${VINEYARD_VERSION} ]]; then | |
# graphscope/vineyard-dev:<v6d_version>-amd64 | |
make vineyard-dev VINEYARD_VERSION=${VINEYARD_VERSION} | |
else | |
# pull_request: use default vineyard_version | |
make vineyard-dev | |
fi | |
- name: Release Image | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
env: | |
docker_password: ${{ secrets.DOCKER_PASSWORD }} | |
docker_username: ${{ secrets.DOCKER_USER }} | |
run: | | |
echo "${docker_password}" | sudo docker login --username="${docker_username}" ${{ env.REGISTRY }} --password-stdin | |
VINEYARD_VERSION=${{ github.event.inputs.v6d_version }} | |
sudo docker tag graphscope/vineyard-dev:${VINEYARD_VERSION}-amd64 ${{ env.REGISTRY }}/graphscope/vineyard-dev:${VINEYARD_VERSION}-amd64 | |
sudo docker push ${{ env.REGISTRY }}/graphscope/vineyard-dev:${VINEYARD_VERSION}-amd64 | |
build-vineyard-runtime-image-amd64: | |
# only trigger this step in 'workflow_dispatch' event, since the 'vineyard-dev' image isn't actually pushed in 'pull_request' | |
if: ${{ github.event_name == 'workflow_dispatch' }} && ${{ github.event.inputs.build_vineyard_dev == 'true' }} || (github.event_name == 'pull_request') | |
runs-on: ubuntu-20.04 | |
needs: [build-vineyard-dev-image-amd64] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Build Image | |
run: | | |
VINEYARD_VERSION=${{ github.event.inputs.v6d_version }} | |
# build vineyard runtime image with specified v6d version | |
cd ${GITHUB_WORKSPACE}/k8s | |
if [[ -n ${VINEYARD_VERSION} ]]; then | |
# graphscope/vineyard-runtime:<v6d_version>-amd64 | |
make vineyard-runtime VINEYARD_VERSION=${VINEYARD_VERSION} | |
else | |
# pull_request: use default vineyard_version | |
make vineyard-runtime | |
fi | |
- name: Release Image | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
env: | |
docker_password: ${{ secrets.DOCKER_PASSWORD }} | |
docker_username: ${{ secrets.DOCKER_USER }} | |
run: | | |
echo "${docker_password}" | sudo docker login --username="${docker_username}" ${{ env.REGISTRY }} --password-stdin | |
VINEYARD_VERSION=${{ github.event.inputs.v6d_version }} | |
sudo docker tag graphscope/vineyard-runtime:${VINEYARD_VERSION}-amd64 ${{ env.REGISTRY }}/graphscope/vineyard-runtime:${VINEYARD_VERSION}-amd64 | |
sudo docker push ${{ env.REGISTRY }}/graphscope/vineyard-runtime:${VINEYARD_VERSION}-amd64 |