_Test OCI Factory | mock-rock #719
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
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 |