diff options
author | Jim Brandt <jbrandt@bestpractical.com> | 2021-05-25 16:28:27 +0300 |
---|---|---|
committer | sunnavy <sunnavy@bestpractical.com> | 2021-05-28 00:26:18 +0300 |
commit | e3ff35b4d6742a55d111f59b8dee6fab46e8bb51 (patch) | |
tree | c7486f0fd633dea965f7a20688ba67d559e24a59 /.github | |
parent | b53b91a923b7c12472f9955994b1f8a5e766df87 (diff) |
Calculate run time for tests for slack message
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/github-action.yml | 44 |
1 files changed, 38 insertions, 6 deletions
diff --git a/.github/workflows/github-action.yml b/.github/workflows/github-action.yml index 265aca7e1a..e2c1fa73ae 100644 --- a/.github/workflows/github-action.yml +++ b/.github/workflows/github-action.yml @@ -7,6 +7,11 @@ jobs: rt_test_sqlite: runs-on: ubuntu-latest steps: + - name: Set up for tests + shell: bash + run: | + echo "RT_BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV + echo "RT_GA_START_TIME=$(date +%s)" >> $GITHUB_ENV - name: Check out RT uses: actions/checkout@v2 - name: Build RT @@ -21,6 +26,17 @@ jobs: - name: Run RT tests shell: bash run: docker exec -e RT_TEST_PARALLEL=1 rt bash -c "cd /rt && prove -lj6 t/*" + - name: Get run time + shell: bash + run: | + export RT_GA_END_TIME=$(date +%s) + echo RT_GA_START_TIME ${{ env.RT_GA_START_TIME }} + echo RT_GA_END_TIME $RT_GA_END_TIME + echo "RT_GA_END_TIME=$RT_GA_END_TIME" >> $GITHUB_ENV + export RT_GA_TEST_TIME=$(( RT_GA_END_TIME - ${{ env.RT_GA_START_TIME }} )) + # Convert seconds to HH::MM::SS + export RT_GA_TEST_TIME=$(date -u -d @"$RT_GA_TEST_TIME" +"%T") + echo "RT_GA_TEST_TIME=$RT_GA_TEST_TIME" >> $GITHUB_ENV - name: Post results to Slack if: always() uses: edge/simple-slack-notify@v1.1.1 @@ -29,15 +45,20 @@ jobs: with: channel: '#github' status: ${{ job.status }} - success_text: '${env.GITHUB_WORKFLOW} (${env.GITHUB_RUN_NUMBER}) tests completed successfully' - failure_text: '${env.GITHUB_WORKFLOW} (${env.GITHUB_RUN_NUMBER}) tests failed' - cancelled_text: '${env.GITHUB_WORKFLOW} (${env.GITHUB_RUN_NUMBER}) tests cancelled' + success_text: '${env.RT_BRANCH_NAME} (${env.GITHUB_RUN_NUMBER}) tests completed successfully in ${env.RT_GA_TEST_TIME}' + failure_text: '${env.RT_BRANCH_NAME} (${env.GITHUB_RUN_NUMBER}) tests failed in ${env.RT_GA_TEST_TIME}' + cancelled_text: '${env.RT_BRANCH_NAME} (${env.GITHUB_RUN_NUMBER}) tests cancelled in ${env.RT_GA_TEST_TIME}' fields: | [{ "title": "Configuration", "value": "RT Server, SQLite", "short": true }, { "title": "URL", "value": "${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}?check_suite_focus=true", "short": true }] rt_test_mariadb: runs-on: ubuntu-latest steps: + - name: Set up for tests + shell: bash + run: | + echo "RT_BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV + echo "RT_GA_START_TIME=$(date +%s)" >> $GITHUB_ENV - name: Checkout RT uses: actions/checkout@v2 - name: Build RT @@ -61,6 +82,17 @@ jobs: DB_VERSION_TAG: 10.3 shell: bash run: docker exec -e RT_TEST_PARALLEL=1 -e RT_DBA_USER=root -e RT_DBA_PASSWORD=password rt bash -c "cd /rt && prove -lj6 t/*" + - name: Get run time + shell: bash + run: | + export RT_GA_END_TIME=$(date +%s) + echo RT_GA_START_TIME ${{ env.RT_GA_START_TIME }} + echo RT_GA_END_TIME $RT_GA_END_TIME + echo "RT_GA_END_TIME=$RT_GA_END_TIME" >> $GITHUB_ENV + export RT_GA_TEST_TIME=$(( RT_GA_END_TIME - ${{ env.RT_GA_START_TIME }} )) + # Convert seconds to HH::MM::SS + export RT_GA_TEST_TIME=$(date -u -d @"$RT_GA_TEST_TIME" +"%T") + echo "RT_GA_TEST_TIME=$RT_GA_TEST_TIME" >> $GITHUB_ENV - name: Post results to Slack if: always() uses: edge/simple-slack-notify@v1.1.1 @@ -69,9 +101,9 @@ jobs: with: channel: '#github' status: ${{ job.status }} - success_text: '${env.GITHUB_WORKFLOW} (${env.GITHUB_RUN_NUMBER}) tests completed successfully' - failure_text: '${env.GITHUB_WORKFLOW} (${env.GITHUB_RUN_NUMBER}) tests failed' - cancelled_text: '${env.GITHUB_WORKFLOW} (${env.GITHUB_RUN_NUMBER}) tests cancelled' + success_text: '${env.RT_BRANCH_NAME} (${env.GITHUB_RUN_NUMBER}) tests completed successfully in ${env.RT_GA_TEST_TIME}' + failure_text: '${env.RT_BRANCH_NAME} (${env.GITHUB_RUN_NUMBER}) tests failed in ${env.RT_GA_TEST_TIME}' + cancelled_text: '${env.RT_BRANCH_NAME} (${env.GITHUB_RUN_NUMBER}) tests cancelled in ${env.RT_GA_TEST_TIME}' fields: | [{ "title": "Configuration", "value": "RT Server, MariaDB 10.3", "short": true }, { "title": "URL", "value": "${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}?check_suite_focus=true", "short": true }] |