Skip to content

Enhancing Dgraph cd pipeline to only push images to Dockerhub when both AMD and ARM builds are successful #9267

Enhancing Dgraph cd pipeline to only push images to Dockerhub when both AMD and ARM builds are successful

Enhancing Dgraph cd pipeline to only push images to Dockerhub when both AMD and ARM builds are successful #9267

name: ci-dgraph-tests
on:
pull_request:
paths-ignore:
- '.github/CODEOWNERS'
- '.vscode/**'
- 'compose/**'
- 'contrib/systemd/**'
- 'licenses/**'
- 'paper/**'
- 'present/**'
- 'RFC/**'
- 'static/**'
- 'wiki/**'
- '**/**.dockerignore'
- '**/**.gitignore'
- '**/**.md'
- '**/**.png'
- '**/**.jpg'
- '**/**.gif'
- '**/**.ini'
types:
- opened
- reopened
- synchronize
- ready_for_review
branches:
- main
- 'release/**'
jobs:
dgraph-tests:
if: github.event.pull_request.draft == false
runs-on: warp-ubuntu-latest-x64-16x
steps:
- uses: actions/checkout@v4
- name: Get Go Version
run: |
#!/bin/bash
GOVERSION=$({ [ -f .go-version ] && cat .go-version; })
echo "GOVERSION=$GOVERSION" >> $GITHUB_ENV
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GOVERSION }}
- name: Install protobuf-compiler
run: sudo apt update && sudo apt install -y protobuf-compiler
- name: Check protobuf
run: |
cd ./protos
go mod tidy
make regenerate
git diff --exit-code -- .
- name: Make Linux Build and Docker Image
run: make docker-image
- name: Build Test Binary
run: |
#!/bin/bash
# build the test binary
cd t; go build .
- name: Clean Up Environment
run: |
#!/bin/bash
# clean cache
go clean -testcache
# clean up docker containers before test execution
cd t; ./t -r
- name: Run Unit Tests
run: |
#!/bin/bash
# go env settings
export GOPATH=~/go
# move the binary
cp dgraph/dgraph ~/go/bin/dgraph
# run the unit and integration tests
cd t; ./t
# clean up docker containers after test execution
./t -r
# sleep
sleep 5