mirror of
https://github.com/timescale/timescaledb.git
synced 2025-04-20 13:53:19 +08:00
Move cron tests to GitHub actions
This patch moves the sanitizer, abi breakage and memory leak tests from travis to github actions.
This commit is contained in:
parent
5bb4bfdf50
commit
c4aa8cf7cf
57
.github/workflows/cron-tests.yaml
vendored
Normal file
57
.github/workflows/cron-tests.yaml
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
name: Additional tests
|
||||
on:
|
||||
schedule:
|
||||
# run daily 20:00 on master branch
|
||||
- cron: '0 20 * * *'
|
||||
push:
|
||||
branches:
|
||||
- prerelease_test
|
||||
jobs:
|
||||
abi_breakage:
|
||||
name: ABI Breakage PG${{ matrix.pg }}
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
pg: [11, 12]
|
||||
env:
|
||||
PG_MAJOR: ${{ matrix.pg }}
|
||||
PG_MINOR_COMPILE: 0
|
||||
|
||||
steps:
|
||||
- name: Checkout TimescaleDB
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: ABI Test
|
||||
run: |
|
||||
./scripts/docker-run-abi-test.sh
|
||||
|
||||
sanitizer:
|
||||
name: ASAN and UBSAN
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- name: Checkout TimescaleDB
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Sanitizer
|
||||
run: |
|
||||
./scripts/test_sanitizers.sh
|
||||
|
||||
memory_leak:
|
||||
name: Memory leak on insert
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
env:
|
||||
PG_VERSION: 12.3
|
||||
|
||||
steps:
|
||||
- name: Checkout TimescaleDB
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Memory test
|
||||
run: |
|
||||
./scripts/docker-run-memory-test.sh
|
49
.travis.yml
49
.travis.yml
@ -73,55 +73,6 @@ jobs:
|
||||
after_script:
|
||||
- docker rm -f docker_arm_emulator
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "ABI breakage smoketest 11.0"
|
||||
before_install:
|
||||
install:
|
||||
after_failure:
|
||||
after_script:
|
||||
script:
|
||||
- PG_MAJOR=11 PG_MINOR_COMPILE=0 bash -x ./scripts/docker-run-abi-test.sh
|
||||
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "ABI breakage smoketest 12.0"
|
||||
before_install:
|
||||
install:
|
||||
after_failure:
|
||||
after_script:
|
||||
script:
|
||||
- PG_MAJOR=12 PG_MINOR_COMPILE=0 bash -x ./scripts/docker-run-abi-test.sh
|
||||
|
||||
# Memory spike test when running out of order random inserts into timescaledb database
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "Memory leak on insert tests"
|
||||
before_install:
|
||||
install:
|
||||
after_failure:
|
||||
after_success:
|
||||
after_script:
|
||||
env:
|
||||
- PG_VERSION=12.3
|
||||
before_script:
|
||||
script:
|
||||
- bash ./scripts/docker-run-memory-test.sh
|
||||
|
||||
# Sanitizer tests
|
||||
- if: (type = cron) OR (branch = prerelease_test)
|
||||
stage: test
|
||||
name: "ASAN and UBSAN tests"
|
||||
before_install:
|
||||
install:
|
||||
after_failure:
|
||||
before_script:
|
||||
script:
|
||||
# TEST_MAX specifies the maximum test # to go up to
|
||||
- TIMESCALE_DIR=$TRAVIS_BUILD_DIR bash ./scripts/test_sanitizers.sh
|
||||
after_script:
|
||||
- kill $(jobs -p) # kill job that prints repeatedly
|
||||
|
||||
# Coverity tests
|
||||
|
||||
- if: (branch = coverity_scan) OR (branch = coverity_scan_11)
|
||||
|
@ -34,28 +34,28 @@ create_base_container() {
|
||||
# Run a Postgres container
|
||||
docker run -u postgres -d --name $1 -v ${BASE_DIR}:/src -v ${COMPILE_VOLUME}:/compile $2
|
||||
# Install build dependencies
|
||||
docker exec -u root -it $1 /bin/bash -c "apk add --no-cache --virtual .build-deps coreutils dpkg-dev gcc libc-dev make util-linux-dev diffutils cmake bison flex openssl-dev && mkdir -p /build/debug"
|
||||
docker exec -u root $1 /bin/bash -c "apk add --no-cache --virtual .build-deps coreutils dpkg-dev gcc libc-dev make util-linux-dev diffutils cmake bison flex openssl-dev && mkdir -p /build/debug"
|
||||
|
||||
# Copy the source files to build directory
|
||||
docker exec -u root -it $1 /bin/bash -c "cp -a /src/{src,sql,scripts,test,tsl,CMakeLists.txt,timescaledb.control.in,version.config} /build/ && cd /build/debug/ && CFLAGS=-Werror cmake .. -DCMAKE_BUILD_TYPE=Debug -DREGRESS_CHECKS=OFF && make -C /build/debug install && chown -R postgres /build"
|
||||
docker exec -u root $1 /bin/bash -c "cp -a /src/{src,sql,scripts,test,tsl,CMakeLists.txt,timescaledb.control.in,version.config} /build/ && cd /build/debug/ && CFLAGS=-Werror cmake .. -DCMAKE_BUILD_TYPE=Debug -DREGRESS_CHECKS=OFF && make -C /build/debug install && chown -R postgres /build"
|
||||
}
|
||||
|
||||
create_base_container $CONTAINER_NAME_COMPILE $PG_IMAGE_TAG_COMPILE
|
||||
|
||||
docker exec -u root -it $CONTAINER_NAME_COMPILE /bin/bash -c "cp /build/debug/src/*.so /compile && cp /build/debug/src/loader/*.so /compile"
|
||||
docker exec -u root $CONTAINER_NAME_COMPILE /bin/bash -c "cp /build/debug/src/*.so /compile && cp /build/debug/src/loader/*.so /compile"
|
||||
docker rm -f $CONTAINER_NAME_COMPILE
|
||||
|
||||
create_base_container $CONTAINER_NAME_RUN $PG_IMAGE_TAG_RUN
|
||||
|
||||
docker exec -u root -it $CONTAINER_NAME_RUN /bin/bash -c "cp /compile/* \`pg_config --pkglibdir\`/"
|
||||
docker exec -u root $CONTAINER_NAME_RUN /bin/bash -c "cp /compile/* \`pg_config --pkglibdir\`/"
|
||||
|
||||
|
||||
# Run tests, allow continuation after error to get regressions.diffs
|
||||
set +e
|
||||
docker exec -u postgres -it ${CONTAINER_NAME_RUN} /bin/bash -c "make -C /build/debug regresscheck TEST_INSTANCE_OPTS='--temp-instance=/tmp/pgdata --temp-config=/build/test/postgresql.conf'"
|
||||
docker exec -u postgres ${CONTAINER_NAME_RUN} /bin/bash -c "make -C /build/debug regresscheck TEST_INSTANCE_OPTS='--temp-instance=/tmp/pgdata --temp-config=/build/test/postgresql.conf'"
|
||||
EXIT_CODE=$?
|
||||
if [ $EXIT_CODE -ne 0 ]; then
|
||||
docker exec -it ${CONTAINER_NAME_RUN} cat /build/debug/test/regression.diffs
|
||||
docker exec ${CONTAINER_NAME_RUN} cat /build/debug/test/regression.diffs
|
||||
fi
|
||||
|
||||
exit $EXIT_CODE
|
||||
|
@ -39,7 +39,7 @@ cleanup() {
|
||||
docker_exec() {
|
||||
# Echo to stderr
|
||||
>&2 echo -e "\033[1m$1\033[0m: $2"
|
||||
docker exec -it $1 /bin/bash -c "$2"
|
||||
docker exec $1 /bin/bash -c "$2"
|
||||
}
|
||||
|
||||
wait_for_pg() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user