Skip to content

Build and Test daily #62

Build and Test daily

Build and Test daily #62

name: Build and Test daily
on:
schedule:
- cron: '20 1 * * 1-5'
jobs:
build-and-test:
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
distribution: ['zulu', 'temurin']
java: ['8', '17']
name: Java ${{ matrix.java }} (${{ matrix.distribution }})
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
cache: 'gradle'
- name: All Tests
env:
JWT_CONFIG_BASE_64: ${{ secrets.JWT_CONFIG_BASE_64 }}
ADMIN_USER_ID: ${{ secrets.ADMIN_USER_ID }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
USER_ID: ${{ secrets.USER_ID }}
ENTERPRISE_ID: ${{ secrets.ENTERPRISE_ID }}
BOX_FILE_REQUEST_ID: ${{ secrets.BOX_FILE_REQUEST_ID }}
BOX_EXTERNAL_USER_EMAIL: ${{ secrets.BOX_EXTERNAL_USER_EMAIL }}
BOX_EXTERNAL_USER_ID: ${{ secrets.BOX_EXTERNAL_USER_ID }}
APP_ITEM_ASSOCIATION_FILE_ID: ${{ secrets.APP_ITEM_ASSOCIATION_FILE_ID }}
APP_ITEM_ASSOCIATION_FOLDER_ID: ${{ secrets.APP_ITEM_ASSOCIATION_FOLDER_ID }}
WORKFLOW_FOLDER_ID: ${{ secrets.WORKFLOW_FOLDER_ID }}
APP_ITEM_SHARED_LINK: ${{ secrets.APP_ITEM_SHARED_LINK }}
SLACK_AUTOMATION_USER_ID: ${{ secrets.SLACK_AUTOMATION_USER_ID }}
SLACK_ORG_ID: ${{ secrets.SLACK_ORG_ID }}
SLACK_PARTNER_ITEM_ID: ${{ secrets.SLACK_PARTNER_ITEM_ID }}
run: ./gradlew check --stacktrace
- name: Coverage
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew jacocoTestReport coverallsJacoco
notify:
name: Send Slack Notification
runs-on: ubuntu-latest
needs: [build-and-test]
if: always()
steps:
- name: Send Slack Notification
env:
SLACK_WEBHOOK_TEST_NOTIFICATION_URL: ${{ secrets.SLACK_WEBHOOK_TEST_NOTIFICATION_URL }}
BUILD_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
if [ "${{ needs.build-and-test.result }}" != "success" ]; then
STATUS="Failure ❌"
else
STATUS="Success ✅"
fi
curl -X POST -H "Content-Type: application/json" \
--data "{\"text\":\"<${BUILD_URL}|Daily Tests Job> in *${GITHUB_REPOSITORY}* finished with status: ${STATUS}\"}" \
"$SLACK_WEBHOOK_TEST_NOTIFICATION_URL"