Skip to content

Commit

Permalink
merge multipe github ci workflow files (#414)
Browse files Browse the repository at this point in the history
* optimize ci workflow

* fix
  • Loading branch information
qishipengqsp authored Feb 22, 2024
1 parent 119a57f commit 6a1a4b5
Show file tree
Hide file tree
Showing 5 changed files with 146 additions and 180 deletions.
146 changes: 146 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
name: ci

on:
push:
pull_request:
branches:
- '*'

env:
TEST_TAG: tugraph/tugraph-ut:test

# Issues TODO:
# 1. Seems GitHub limits the output passed among jobs up to 1MB,
# so we can't break down the entire workflow to multi-jobs.
# 2. For submodules in the repo inside the single job, the git binary in docker image
# should be upgrade to at least 2.18 in order to use actions/checkout@v3
# inside docker instead of running ut and it via Dockerfile.
jobs:
ut_no_asan:
runs-on: ubuntu-latest
steps:
- name: Delete huge unnecessary tools folder
run: |
df -h
echo "Listing 100 largest packages"
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 100
echo "Removing large packages"
sudo apt-get remove -y '^dotnet-.*'
sudo apt-get remove -y '^llvm-.*'
sudo apt-get remove -y 'php.*'
sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel
sudo apt-get autoremove -y
sudo apt-get clean
df -h
echo "Removing large directories"
rm -rf /usr/share/dotnet/
rm -rf /opt/hostedtoolcache
df -h
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- name: Unit Test
uses: docker/build-push-action@v4
with:
file: ci/images/github-ci-ubuntu-latest-Dockerfile
context: .
tags: ${{ env.TEST_TAG }}
build-args: |
BUILD_TYPE=no_asan
TEST_TYPE=ut
secrets: |
"CODECOV_TOKEN=${{ secrets.CODECOV_TOKEN }}"
- name: Check disk space
if: always()
run: df -h

ut_asan:
runs-on: ubuntu-latest
steps:
- name: Delete huge unnecessary tools folder
run: |
df -h
echo "Listing 100 largest packages"
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 100
echo "Removing large packages"
sudo apt-get remove -y '^dotnet-.*'
sudo apt-get remove -y '^llvm-.*'
sudo apt-get remove -y 'php.*'
sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel
sudo apt-get autoremove -y
sudo apt-get clean
df -h
echo "Removing large directories"
rm -rf /usr/share/dotnet/
rm -rf /opt/hostedtoolcache
df -h
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- name: Unit Test
uses: docker/build-push-action@v4
with:
file: ci/images/github-ci-ubuntu-latest-Dockerfile
context: .
tags: ${{ env.TEST_TAG }}
build-args: |
BUILD_TYPE=asan
TEST_TYPE=ut
secrets: |
"CODECOV_TOKEN=${{ secrets.CODECOV_TOKEN }}"
- name: Check disk space
if: always()
run: df -h

it:
runs-on: ubuntu-latest
steps:
- name: Delete huge unnecessary tools folder
run: |
df -h
echo "Listing 100 largest packages"
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 100
echo "Removing large packages"
sudo apt-get remove -y '^dotnet-.*'
sudo apt-get remove -y '^llvm-.*'
sudo apt-get remove -y 'php.*'
sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel
sudo apt-get autoremove -y
sudo apt-get clean
df -h
echo "Removing large directories"
rm -rf /usr/share/dotnet/
rm -rf /opt/hostedtoolcache
df -h
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- name: Integration Test
uses: docker/build-push-action@v4
with:
file: ci/images/github-ci-ubuntu-latest-Dockerfile
context: .
tags: ${{ env.TEST_TAG }}
build-args: |
BUILD_TYPE=no_asan
TEST_TYPE=it
secrets: |
"CODECOV_TOKEN=${{ secrets.CODECOV_TOKEN }}"
- name: Check disk space
if: always()
run: df -h
60 changes: 0 additions & 60 deletions .github/workflows/ci_asan.yml

This file was deleted.

60 changes: 0 additions & 60 deletions .github/workflows/ci_it.yml

This file was deleted.

60 changes: 0 additions & 60 deletions .github/workflows/ci_ut.yml

This file was deleted.

File renamed without changes.

0 comments on commit 6a1a4b5

Please sign in to comment.