mirror of
				https://github.com/qurator-spk/modstool.git
				synced 2025-11-04 03:14:14 +01:00 
			
		
		
		
	Merge pull request #55 from qurator-spk/github-actions
⚙ Switch to testing on GitHub Actions
This commit is contained in:
		
						commit
						76b36cb0ca
					
				
					 5 changed files with 88 additions and 25 deletions
				
			
		| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
version: 2.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  test:
 | 
					 | 
				
			||||||
    parameters:
 | 
					 | 
				
			||||||
      python-version:
 | 
					 | 
				
			||||||
        type: string
 | 
					 | 
				
			||||||
    docker:
 | 
					 | 
				
			||||||
      - image: cimg/python:<< parameters.python-version >>
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - checkout
 | 
					 | 
				
			||||||
      - run: pip3 install --upgrade pip
 | 
					 | 
				
			||||||
      - run: pip3 install -e .
 | 
					 | 
				
			||||||
      - run: pip3 install -r requirements-test.txt
 | 
					 | 
				
			||||||
      - run: pytest
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
workflows:
 | 
					 | 
				
			||||||
  all-tests:
 | 
					 | 
				
			||||||
    jobs:
 | 
					 | 
				
			||||||
      - test:
 | 
					 | 
				
			||||||
          matrix:
 | 
					 | 
				
			||||||
            parameters:
 | 
					 | 
				
			||||||
              python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
 | 
					 | 
				
			||||||
							
								
								
									
										64
									
								
								.github/workflows/test.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								.github/workflows/test.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,64 @@
 | 
				
			||||||
 | 
					name: 'Test'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - master
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - master
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  schedule:
 | 
				
			||||||
 | 
					    - cron: "00 16 07 * *"  # = monthly
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Allow manually running (from GitHub Web)
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Allow calling this workflow (e.g. from release workflow)
 | 
				
			||||||
 | 
					  workflow_call:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  test:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    strategy:
 | 
				
			||||||
 | 
					      fail-fast: false
 | 
				
			||||||
 | 
					      matrix:
 | 
				
			||||||
 | 
					        python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Set up Python
 | 
				
			||||||
 | 
					        uses: actions/setup-python@v5
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          python-version: ${{ matrix.python-version }}
 | 
				
			||||||
 | 
					          allow-prereleases: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Checkout
 | 
				
			||||||
 | 
					        uses: actions/checkout@v4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Install possible lxml build requirements (if building from source)
 | 
				
			||||||
 | 
					        run: sudo apt-get install -y libxml2-dev libxslt-dev python3-dev
 | 
				
			||||||
 | 
					      - name: Install possible shapely build requirements (if building from source)
 | 
				
			||||||
 | 
					        run: sudo apt-get install -y libgeos-dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Update pip
 | 
				
			||||||
 | 
					        run: python3 -m pip install -U pip
 | 
				
			||||||
 | 
					      - name: Install requirements*.txt
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          for requirements_txt in requirements*.txt; do
 | 
				
			||||||
 | 
					            python3 -m pip install -r $requirements_txt;
 | 
				
			||||||
 | 
					          done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Test
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					            cd src
 | 
				
			||||||
 | 
					            python3 -m pytest --junitxml=../${{matrix.python-version}}-junit.xml -o junit_family=legacy
 | 
				
			||||||
 | 
					      - name: Upload test results
 | 
				
			||||||
 | 
					        uses: actions/upload-artifact@v4
 | 
				
			||||||
 | 
					        if: success() || failure()
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          name: test-results-${{matrix.python-version}}
 | 
				
			||||||
 | 
					          path: ${{matrix.python-version}}-junit.xml
 | 
				
			||||||
							
								
								
									
										20
									
								
								.github/workflows/test_report.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/test_report.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					name: 'Test - Report results'
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  workflow_run:
 | 
				
			||||||
 | 
					    workflows: ['test']
 | 
				
			||||||
 | 
					    types:
 | 
				
			||||||
 | 
					      - completed
 | 
				
			||||||
 | 
					permissions:
 | 
				
			||||||
 | 
					  contents: read
 | 
				
			||||||
 | 
					  actions: read
 | 
				
			||||||
 | 
					  checks: write
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  report:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: dorny/test-reporter@v1
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          artifact: /test-results-(.*)/
 | 
				
			||||||
 | 
					          name: 'test - Results ($1)'
 | 
				
			||||||
 | 
					          path: '*junit.xml'
 | 
				
			||||||
 | 
					          reporter: java-junit
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
Extract the MODS/ALTO metadata of a bunch of METS/ALTO files into pandas DataFrames.
 | 
					Extract the MODS/ALTO metadata of a bunch of METS/ALTO files into pandas DataFrames.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[](https://circleci.com/gh/qurator-spk/mods4pandas)
 | 
					[](https://github.com/qurator-spk/mods4pandas/actions?query=workflow:"test")
 | 
				
			||||||
 | 
					[](#license)
 | 
				
			||||||
 | 
					[](https://github.com/qurator-spk/mods4pandas/issues)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**mods4pandas** converts the MODS metadata from METS files into a pandas DataFrame.
 | 
					**mods4pandas** converts the MODS metadata from METS files into a pandas DataFrame.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,7 @@ authors = [
 | 
				
			||||||
description = "Convert MODS metadata to a pandas DataFrame"
 | 
					description = "Convert MODS metadata to a pandas DataFrame"
 | 
				
			||||||
readme = "README.md"
 | 
					readme = "README.md"
 | 
				
			||||||
license.file = "LICENSE"
 | 
					license.file = "LICENSE"
 | 
				
			||||||
requires-python = ">=3.8"
 | 
					requires-python = ">=3.9"
 | 
				
			||||||
keywords = ["qurator", "mets", "mods", "metadata", "library"]
 | 
					keywords = ["qurator", "mets", "mods", "metadata", "library"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dynamic = ["dependencies", "optional-dependencies"]
 | 
					dynamic = ["dependencies", "optional-dependencies"]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue