Skip to content

Unit Tests

Unit Tests #607

Workflow file for this run

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
name: Unit Tests
on:
push:
branches: [ master, 2.0.0 ]
pull_request:
branches: [ master, 2.0.0 ]
types: [ opened, synchronize, reopened ]
schedule:
- cron: '30 1 * * 1,3,5'
env:
# openwhisk env
TEST_SUITE: Unit
ANSIBLE_CMD: "ansible-playbook -i environments/local -e docker_image_prefix=testing"
GRADLE_PROJS_SKIP: ""
## secrets
# (optional) slack incoming wehbook for notifications
SLACK_WEBHOOK: ${{secrets.SLACK_WEBHOOK}}
# (optional) s3 log upload
LOG_BUCKET: ${{ secrets.LOG_BUCKET }}
LOG_ACCESS_KEY_ID: ${{ secrets.LOG_ACCESS_KEY_ID }}
LOG_SECRET_ACCESS_KEY: ${{ secrets.LOG_SECRET_ACCESS_KEY }}
LOG_REGION: ${{ secrets.LOG_REGION }}
# some tests need also this even if they are empty on pull_requests...
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.AWS_REGION }}
# github
GH_BUILD: ${{ github.event_name }}-${{ github.sha }}
GH_BRANCH: ${{ github.head_ref || github.ref_name }}
# https://ge.apache.org
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
jobs:
openwhisk:
runs-on: ubuntu-22.04
continue-on-error: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: "Setup"
run: ./tools/github/setup.sh
- name: Maximize free space
run: >
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/.ghcup
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Check free space
run: df -h
- id: tests
name: Run Tests
run: "./tools/github/run${{ env.TEST_SUITE }}Tests.sh"
continue-on-error: true
- id: logs
name: Show results and Upload logs
run: ./tools/github/checkAndUploadLogs.sh ${{ env.TEST_SUITE }}
- name: Slack Notification
run: >
./tools/github/writeOnSlack.sh
"[$TEST_SUITE]" ${{ steps.tests.outcome }} on ${GH_BUILD}
$'\nbranch:' $GH_BRANCH
$'\nmessage:' "$(git log -1 --oneline | cat)"
$'\nlogs:' ${{ steps.logs.outputs.logs }}
$'\nreport:' ${{ steps.logs.outputs.report }}
- name: Results
run: test "${{ steps.tests.outcome }}" == "success"