Skip to content

Add auto-tag workflow (#21) #55

Add auto-tag workflow (#21)

Add auto-tag workflow (#21) #55

name: Syclops Pipeline Test
on:
push:
branches: [ main ]
tags:
- 'v*' # This will match any tag starting with 'v'
pull_request:
branches: [ main ]
jobs:
build-and-test:
name: Syclops Pipeline Test
runs-on: ubuntu-latest
if: github.event_name == 'pull_request' || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'))
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update -q
sudo apt-get install -y --no-install-recommends libgl1-mesa-glx libglib2.0-0 libsm6 libxrender1 libxext6 libxi6 libxkbcommon0
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install package
run: |
pip install .
- name: Run Syclops
run: |
syclops -if ./ --test-job -log
# Check for expected output files and report any missing ones
- name: Check for output files
run: |
patterns=(
"./output/*/main_camera/rect/*.png"
"./output/*/main_camera/rect/*metadata.yaml"
"./output/*/main_camera/extrinsics/*.yaml"
"./output/*/main_camera/extrinsics/*metadata.yaml"
"./output/*/main_camera/intrinsics/*.yaml"
"./output/*/main_camera/intrinsics/*metadata.yaml"
"./output/*/main_camera_annotations/bounding_box/*.txt"
"./output/*/main_camera_annotations/bounding_box/*metadata.yaml"
"./output/*/main_camera_annotations/depth/*.npz"
"./output/*/main_camera_annotations/depth/*metadata.yaml"
"./output/*/main_camera_annotations/instance_segmentation/*.npz"
"./output/*/main_camera_annotations/instance_segmentation/*metadata.yaml"
"./output/*/main_camera_annotations/semantic_segmentation/*.npz"
"./output/*/main_camera_annotations/semantic_segmentation/*metadata.yaml"
"./output/*/main_camera_annotations/pointcloud/*.npz"
"./output/*/main_camera_annotations/pointcloud/*metadata.yaml"
"./output/*/main_camera_annotations/object_volume/*.npz"
"./output/*/main_camera_annotations/object_volume/*metadata.yaml"
"./output/*/main_camera_annotations/keypoints/*.json"
"./output/*/main_camera_annotations/keypoints/*metadata.yaml"
"./output/*/main_camera_annotations/structured_light/*.png"
"./output/*/main_camera_annotations/structured_light/*metadata.yaml"
"./output/*/object_positions/*.json"
"./output/*/object_positions/*metadata.yaml"
)
missing=false
for pattern in "${patterns[@]}"; do
files=$(find . -path "$pattern")
if [[ ! $files ]]; then
echo "MISSING: $pattern"
missing=true
fi
done
if [ "$missing" = true ]; then
exit 1
fi