WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Full Exif Tag Precision and Dynamic Length Decimal Values for Numeric Values in Image Description File #1525

Full Exif Tag Precision and Dynamic Length Decimal Values for Numeric Values in Image Description File

Full Exif Tag Precision and Dynamic Length Decimal Values for Numeric Values in Image Description File #1525

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
# Runs your workflow when activity on a pull request in the workflow's repository occurs.
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request
pull_request:
# only run on pull requests that target specific branches
branches: [main]
push:
branches: [main]
jobs:
build:
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
platform: ["ubuntu-latest", "macos-latest", "windows-latest"]
# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
# Optional - x64 or x86 architecture, defaults to x64
# architecture: "x64"
runs-on: ${{ matrix.platform }}
defaults:
run:
working-directory: ./main
steps:
# https://github.com/actions/checkout#Checkout-multiple-repos-side-by-side
# pull into mapillary/mapillary_tools/main
- uses: actions/checkout@v4
with:
path: main
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .
python -m pip install --group dev
- name: Lint with ruff
run: |
ruff check mapillary_tools
- name: Format with ruff
run: |
ruff format --check mapillary_tools tests
- name: Sort imports with usort
run: |
usort diff mapillary_tools
- name: Type check with mypy
run: |
mypy mapillary_tools tests/cli
# Begin of expensive steps: run after the quick checks done above
# https://github.com/actions/checkout#Checkout-multiple-repos-side-by-side
# pull into mapillary/mapillary_tools/exiftool
- name: Setup ExifTool
uses: actions/checkout@v4
with:
repository: "exiftool/exiftool"
path: exiftool
- name: Check ExifTool version
# DO NOT USE envvars here which does not work on Windows (needs prefixing with $env:)
# need to rename exiftool to exiftool.pl according to https://exiftool.org/install.html
run: |
mv ${{ github.workspace }}/exiftool/exiftool ${{ github.workspace }}/exiftool/exiftool.pl
perl ${{ github.workspace }}/exiftool/exiftool.pl -ver
- name: Setup FFmpeg
uses: FedericoCarboni/setup-ffmpeg@v3
# ffmpeg is not supported in the latest macOS arch:
# Error: setup-ffmpeg can only be run on 64-bit systems
if: matrix.platform != 'macos-latest'
# Allow this step to fail (it frequently fails)
continue-on-error: true
# End of expensive steps
- name: Test with pytest
run: |
mapillary_tools --version
pytest -s -vv tests
env:
MAPILLARY_TOOLS__TESTS_EXECUTABLE: mapillary_tools
MAPILLARY_TOOLS__TESTS_EXIFTOOL_EXECUTABLE: perl ${{ github.workspace }}/exiftool/exiftool.pl