Skip to content

_Test OCI Factory | mock-rock #719

_Test OCI Factory | mock-rock

_Test OCI Factory | mock-rock #719

name: _Test OCI Factory | mock-rock
on:
workflow_dispatch:
push:
paths:
- ".github/workflows/*"
- ".github/actions/**"
- "!.github/workflows/CLA-Check.yaml"
- "!.github/workflows/PR-Validator.yaml"
- "!.github/workflows/_Auto-updates.yaml"
- "!.github/workflows/Continuous-Testing.yaml"
- "!.github/workflows/CLI-Client.yaml"
- "examples/**"
- "oci/mock*"
- "src/**"
- "tools/**"
- "tests/**"
- "!tools/workflow-engine/**"
- "!tools/cli-client/**"
env:
# local path to clone the oci-factory to
# path of pytest junit output
PYTEST_RESULT_PATH: pytest_results.xml
jobs:
access-check:
name: Validate access to mock-rock
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/validate-actor
with:
admin-only: true
image-path: "oci/mock-rock"
github-token: ${{ secrets.ROCKSBOT_TOKEN }}
pytest:
# Trigger python unit tests across the repository
name: pytest
runs-on: ubuntu-22.04
steps:
# Job Setup
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions/setup-python@v5
with:
python-version: "3.x"
# Note: Add additional dependency installation lines as required below
# test-oci-factory/pytest requirements
- run: pip install -r tests/etc/requirements.txt
# build_rock/configure requirements
- run: pip install -r src/build_rock/configure/requirements.txt
- name: Run pytest
continue-on-error: true
run: |
python3 -m pytest --junit-xml "${{ env.PYTEST_RESULT_PATH }}"
- name: Generate Summary
if: ${{ !cancelled() }}
run: |
python3 -m tools.junit_to_markdown --input-junit "${{ env.PYTEST_RESULT_PATH }}" >> $GITHUB_STEP_SUMMARY
- name: Upload pytest Result
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.PYTEST_RESULT_PATH }}
path: ${{ env.PYTEST_RESULT_PATH }}
if-no-files-found: error
bats-test:
# Trigger bash unit tests across the repository
name: bats
runs-on: ubuntu-22.04
steps:
# Job Setup
- uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install bats
run: |
sudo apt-get update
sudo apt-get install -y bats
- name: Run bats
env:
GITHUB_TOKEN: ${{ secrets.ROCKSBOT_TOKEN }}
run: |
find ${{ github.workspace }} -name 'test-*.bats' | xargs bats
test-workflows:
name: Trigger internal tests for mock-rock
needs: [access-check]
uses: ./.github/workflows/Image.yaml
with:
oci-image-name: "mock-rock"
upload: true
secrets: inherit