Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bestpractical/rt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Vincent <jesse@keyboard.io>2022-08-03 22:17:27 +0300
committerJim Brandt <jbrandt@bestpractical.com>2022-08-05 22:09:47 +0300
commitb1ff93f685d698f69fbd21c36d70c39a4975e02f (patch)
tree2ee2eaea5c962f6035c781324ef53e149816ebdc
parent8f5e491596b9027fddbbe1ad31f7c2901d9ec59c (diff)
Switch the github test harness to using RT's built in parallel testing make target.
This make the github workflows a little less complicated and turns on some prove options that help make the test suites finish a bit faster. * Cache the .prove state file so that "make test-parallel" will run the slowest test suites first, which generally results in faster test suite runs * Switch to a parallelism of 5, which currently benchmarks a hair faster than a parallelism of 6 for me on GitHub's current runners
-rw-r--r--.github/workflows/github-action.yml24
1 files changed, 21 insertions, 3 deletions
diff --git a/.github/workflows/github-action.yml b/.github/workflows/github-action.yml
index e2f624c0a6..24677373b0 100644
--- a/.github/workflows/github-action.yml
+++ b/.github/workflows/github-action.yml
@@ -15,6 +15,12 @@ jobs:
echo "RT_GA_START_TIME=$(date +%s)" >> $GITHUB_ENV
- name: Check out RT
uses: actions/checkout@v2
+ - name: Cache .prove state
+ id: cache-prove-state
+ uses: actions/cache@v3
+ with:
+ path: .prove
+ key: ${{ runner.os }}-sqlite
- name: Build RT
shell: bash
run: |
@@ -23,7 +29,7 @@ jobs:
docker exec rt bash -c "cd /rt && ./configure.ac --with-db-type=SQLite --with-my-user-group --enable-layout=inplace --enable-developer --enable-externalauth --enable-gpg --enable-smime && mkdir -p /rt/var && make testdeps"
- name: Run RT tests
shell: bash
- run: docker exec rt bash -c "cd /rt && prove -rlj6 t/*"
+ run: docker exec rt bash -c "cd /rt && RT_TEST_PARALLEL_NUM=5 make test-parallel"
- name: Get run time
if: always()
shell: bash
@@ -60,6 +66,12 @@ jobs:
echo "RT_GA_START_TIME=$(date +%s)" >> $GITHUB_ENV
- name: Checkout RT
uses: actions/checkout@v2
+ - name: Cache .prove state
+ id: cache-prove-state
+ uses: actions/cache@v3
+ with:
+ path: .prove
+ key: ${{ runner.os }}-mariadb
- name: Build RT
shell: bash
run: |
@@ -70,7 +82,7 @@ jobs:
docker exec rt bash -c "cd /rt && ./configure.ac --with-db-type=mysql --with-my-user-group --enable-layout=inplace --enable-developer --enable-externalauth --enable-gpg --enable-smime && mkdir -p /rt/var && make testdeps"
- name: Run RT tests
shell: bash
- run: docker exec rt bash -c "cd /rt && prove -rlj6 t/*"
+ run: docker exec rt bash -c "cd /rt && RT_TEST_PARALLEL_NUM=5 make test-parallel"
- name: Get run time
if: always()
shell: bash
@@ -107,6 +119,12 @@ jobs:
echo "RT_GA_START_TIME=$(date +%s)" >> $GITHUB_ENV
- name: Checkout RT
uses: actions/checkout@v2
+ - name: Cache .prove state
+ id: cache-prove-state
+ uses: actions/cache@v3
+ with:
+ path: .prove
+ key: ${{ runner.os }}-pg-fcgid
- name: Build RT
shell: bash
run: |
@@ -118,7 +136,7 @@ jobs:
docker exec -e USER=rt-user -u rt-user rt bash -c "cd /rt && ./configure.ac --with-db-type=Pg --with-my-user-group --enable-layout=inplace --with-web-handler=fcgid --enable-developer --enable-externalauth --enable-gpg --enable-smime && mkdir -p /rt/var && make testdeps && chmod a+rX /rt/sbin/*"
- name: Run RT tests
shell: bash
- run: docker exec -e RT_DBA_USER=postgres -e RT_TEST_WEB_HANDLER=apache+fcgid -e HTTPD_ROOT=/etc/apache2 -e RT_TEST_APACHE=/usr/sbin/apache2 -e RT_TEST_APACHE_MODULES=/usr/lib/apache2/modules -u rt-user rt bash -c "cd /rt && prove -rlj6 t/*"
+ run: docker exec -e RT_DBA_USER=postgres -e RT_TEST_WEB_HANDLER=apache+fcgid -e HTTPD_ROOT=/etc/apache2 -e RT_TEST_APACHE=/usr/sbin/apache2 -e RT_TEST_APACHE_MODULES=/usr/lib/apache2/modules -u rt-user rt bash -c "cd /rt && RT_TEST_PARALLEL_NUM=5 make test-parallel"
- name: Get run time
if: always()
shell: bash