Skip to content

cleanup extra steps #822

cleanup extra steps

cleanup extra steps #822

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
# 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
build-rock:
uses: ./.github/workflows/Build-Rock.yaml
with:
# mock rock
oci-archive-name: "eicar-rock"
rock-repo: canonical/rocks-toolbox
rock-repo-commit: main
rockfile-directory: mock_rock/1.2 # 1.0 - multi arch, 1.2 single arch rock
# # eicar rock, will fail
# oci-archive-name: "eicar-rock"
# rock-repo: canonical/rocks-toolbox
# rock-repo-commit: oci-factory_workflows
# rockfile-directory: oci-factory_workflows/rocks/eicar
test-rock:
uses: ./.github/workflows/Test-Rock.yaml
needs: [build-rock]
with:
oci-archive-name: "eicar-rock"
test-vulnerability-scan:
name: Test vulnerability scan workflow
needs: [access-check]
uses: ./.github/workflows/Vulnerability-Scan.yaml
with:
oci-image-name: "ghcr.io/canonical/oci-factory/mock-rock:1.1-22.04_844"
oci-image-path: "oci/mock-rock"
secrets: inherit
# build-rock:
# uses: ./.github/workflows/Build-Rock.yaml
# with:
# # mock rock
# oci-archive-name: "eicar-rock"
# rock-repo: canonical/rocks-toolbox
# rock-repo-commit: main
# rockfile-directory: mock_rock/1.2 # 1.0 - multi arch, 1.2 single arch rock
# # # eicar rock, will fail
# # oci-archive-name: "eicar-rock"
# # rock-repo: canonical/rocks-toolbox
# # rock-repo-commit: oci-factory_workflows
# # rockfile-directory: oci-factory_workflows/rocks/eicar
# test-rock:
# uses: ./.github/workflows/Test-Rock.yaml
# needs: [build-rock]
# with:
# oci-archive-name: "eicar-rock"
# 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