User recipe validation #906
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow executes CI jobs | |
name: CI | |
on: | |
push: | |
branches: | |
- main | |
- development | |
pull_request: | |
branches: '*' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
# Build job focuses on maintaining quality bar of code contributed in each commit. | |
# Enforce static analysis, commit format and code coverage rules etc. here. | |
# To perform any testing on gdk-cli tool, please add them to the regression job. | |
build: | |
strategy: | |
matrix: | |
python-version: [ 3.7 ] | |
os: [ windows-latest, ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
permissions: | |
id-token: write | |
contents: read | |
name: Build on ${{ matrix.os }} with Python ${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Validate commit messages | |
uses: wagoid/commitlint-github-action@v5 | |
if: matrix.os == 'ubuntu-latest' | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Python version | |
run: | | |
python -VV | |
python -m pip install --upgrade pip | |
- name: Lint with flake8 | |
run: | | |
pip install flake8 | |
# The GitHub editor is 127 chars wide | |
flake8 . | |
- name: Install test dependencies | |
run: | | |
pip install -r test-requirements.txt | |
- name: Unit Testing CLI | |
run: | | |
make tests_unit | |
- name: Upload tests coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
flags: unit | |
- name: Integration Testing CLI | |
run: | | |
make tests_integration | |
- name: Upload integration tests coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
flags: integ | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v2 | |
with: | |
role-to-assume: ${{secrets.GDK_WORKFLOW_AWS_ROLE}} | |
aws-region: us-east-1 | |
if: ${{ github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'push'}} | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 8 | |
distribution: corretto | |
if: ${{ github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'push'}} | |
- name: Run UATs with code coverage | |
run: | | |
make tests_uat | |
if: ${{ github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'push'}} | |
- name: Upload UAT coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
flags: uat | |
if: ${{ github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'push'}} |