Skip to content

Commit

Permalink
Fix timezone of build container
Browse files Browse the repository at this point in the history
  • Loading branch information
yuzhichang committed Dec 23, 2023
1 parent 52a3bf9 commit cc2ec1c
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 10 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ jobs:
run: git branch --show-current && git rev-parse HEAD

- name: Start builder container
run: sudo docker rm -f infinity_build && sudo docker run -d --name infinity_build --network=host -v $PWD:/infinity infiniflow/infinity_build:0.1
run: |
TZ=$(readlink -f /etc/localtime | awk -F '/zoneinfo/' '{print $2}')
sudo docker rm -f infinity_build && sudo docker run -d --name infinity_build --network=host -e TZ=$TZ -v $PWD:/infinity infiniflow/infinity_build:0.1
- name: Build release version
run: sudo docker exec infinity_build bash -c "cd /infinity && rm -fr cmake-build-release && mkdir -p cmake-build-release && cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -S /infinity -B /infinity/cmake-build-release && cmake --build /infinity/cmake-build-release"
Expand Down
55 changes: 46 additions & 9 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ jobs:
uses: actions/checkout@v3

- name: Start builder container
run: sudo docker rm -f infinity_build && sudo docker run -d --name infinity_build --network=host -v $PWD:/infinity infiniflow/infinity_build:0.1
run: |
TZ=$(readlink -f /etc/localtime | awk -F '/zoneinfo/' '{print $2}')
sudo docker rm -f infinity_build && sudo docker run -d --name infinity_build --network=host -e TZ=$TZ -v $PWD:/infinity infiniflow/infinity_build:0.1
- name: Build debug version
run: sudo docker exec infinity_build bash -c "cd /infinity && rm -fr cmake-build-debug && mkdir -p cmake-build-debug && cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -S /infinity -B /infinity/cmake-build-debug && cmake --build /infinity/cmake-build-debug"
Expand All @@ -30,27 +32,62 @@ jobs:
run: |
# Run a command in the background
sudo docker exec infinity_build bash -c "cd /infinity/ && rm -fr /tmp/infinity && cmake-build-debug/src/infinity > debug.log 2>&1" &
# Save its process ID to a file for later use
echo $! > background_process_pid.txt
- name: pysdk & sqllogictest debug version
run: sudo docker exec infinity_build bash -c "cd /infinity/ && python3 tools/sqllogictest.py"

- name: Collect infinity debug output and stop it
run: cat debug.log && sudo kill $(cat background_process_pid.txt) && rm -f background_process_pid.txt
- name: Stop infinity debug
run: |
pid=$(pidof cmake-build-debug/src/infinity)
if [ -z "$pid" ]; then
echo "inifnity is already dead"
exit 1 # Set the step to fail
fi
sudo kill $pid 2>/dev/null
sleep 10
sudo kill -0 $pid 2>/dev/null
if [ $? -eq 0 ]; then
echo "Process with PID $pid is alive."
exit 1 # Set the step to fail
else
echo "Process with PID $pid is not alive."
fi
if: always() # always run this step even if previous steps failed

- name: Collect infinity debug output
# GitHub Actions interprets output lines starting with "Error" as error messages, and it automatically sets the step status to failed when such lines are detected.
run: cat debug.log 2>/dev/null || true
if: always() # always run this step even if previous steps failed

- name: Build release version
run: sudo docker exec infinity_build bash -c "cd /infinity && rm -fr cmake-build-release && mkdir -p cmake-build-release && cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -S /infinity -B /infinity/cmake-build-release && cmake --build /infinity/cmake-build-release"

- name: Start infinity release version
run: |
sudo docker exec infinity_build bash -c "cd /infinity/ &&rm -fr /tmp/infinity && cmake-build-release/src/infinity > release.log 2>&1" &
echo $! > background_process_pid.txt
sudo docker exec infinity_build bash -c "cd /infinity/ && rm -fr /tmp/infinity && cmake-build-release/src/infinity > release.log 2>&1" &
- name: pysdk & sqllogictest release version
run: sudo docker exec infinity_build bash -c "cd /infinity/ && python3 tools/sqllogictest.py"

- name: Collect infinity release output and stop it
run: cat release.log && sudo kill $(cat background_process_pid.txt) && rm -f background_process_pid.txt
- name: Stop infinity release
run: |
pid=$(pidof cmake-build-release/src/infinity)
if [ -z "$pid" ]; then
echo "inifnity is already dead"
exit 1 # Set the step to fail
fi
sudo kill $pid 2>/dev/null
sleep 10
sudo kill -0 $pid 2>/dev/null
if [ $? -eq 0 ]; then
echo "Process with PID $pid is alive."
exit 1 # Set the step to fail
else
echo "Process with PID $pid is not alive."
fi
if: always() # always run this step even if previous steps failed

- name: Collect infinity release output
# GitHub Actions interprets output lines starting with "Error" as error messages, and it automatically sets the step status to failed when such lines are detected.
run: cat release.log 2>/dev/null || true
if: always() # always run this step even if previous steps failed

0 comments on commit cc2ec1c

Please sign in to comment.