Update pandas requirement from ~=2.2.0 to ~=2.2.2 #333
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: Pipeline build | |
on: | |
push: | |
workflow_dispatch: | |
jobs: | |
# TESTS BEGIN | |
python_tests: | |
name: Run Python unit tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install flake8 pytest | |
pip install -r requirements.txt | |
python setup.py install | |
- name: Run unit tests | |
run: pytest | |
verify_spelling: | |
name: Check spelling | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python setup.py install | |
- name: Converting JSON to Markdown | |
run: | | |
python ./resume/__main__.py --input 'resume.json' --output 'resume.md' --format 'markdown' | |
- name: Check spelling | |
uses: sbates130272/[email protected] | |
validate_schema: | |
name: Validate JSON resume schema | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Setup Node.js | |
uses: actions/[email protected] | |
with: | |
node-version: 12 | |
- name: Install dependencies | |
run: npm install -g resume-cli | |
- name: Validate resume schema | |
run: resume validate | |
verify_urls: | |
name: Verify URLs in resume | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python setup.py install | |
- name: Converting JSON to Markdown | |
run: | | |
python ./resume/__main__.py --input 'resume.json' --output 'resume.md' --format 'markdown' | |
- name: Verify URLs | |
uses: gaurav-nelson/github-action-markdown-link-check@v1 | |
with: | |
file-path: ./resume.md | |
# TESTS END | |
# CONVERSION BEGIN | |
# PDF, JPG, TIFF | |
pdf_conversions: | |
name: Conversions based on PDF | |
runs-on: ubuntu-latest | |
needs: [ python_tests, verify_spelling, validate_schema, verify_urls ] | |
steps: | |
- uses: actions/[email protected] | |
- name: Setup Node.js | |
uses: actions/[email protected] | |
with: | |
node-version: 12 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Setup | |
run: | | |
npm install -g resume-cli | |
npm install jsonresume-theme-paper | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python setup.py install | |
mkdir output | |
mkdir tmp | |
mv resume.json resume-full.json | |
python ./resume/__main__.py --input 'resume-full.json' --output 'resume.json' --format 'simplify' | |
resume export tmp/resume-paper.html --format html --theme paper | |
mv resume.json resume-basic.json | |
mv resume-full.json resume.json | |
- name: HTML -> PDF | |
uses: fifsky/html-to-pdf-action@master | |
with: | |
htmlFile: ./tmp/resume-paper.html | |
outputFile: ./output/resume.pdf | |
pdfOptions: '{"format": "A4", "margin": {"top": "10mm", "left": "10mm", "right": "10mm", "bottom": "10mm"}}' | |
- name: PDF -> JPG | |
run: | | |
sudo apt install poppler-utils | |
python ./resume/__main__.py --input 'output/resume.pdf' --output 'output/resume.jpg' --format 'jpg' | |
- name: PDF -> TIFF | |
uses: jy95/ghostscript-action@v1 | |
with: | |
file: 'output/resume.pdf' | |
output: 'output/resume.tiff' | |
arbitrary-parameters: '-dNOPAUSE -r300 -sDEVICE=tiffscaled24 -sCompression=lzw -dBATCH' | |
- name: Generate artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artefacts-pdf | |
path: output | |
# HTML | |
html_conversions: | |
name: Conversions based on HTML | |
runs-on: ubuntu-latest | |
needs: [ python_tests, verify_spelling, validate_schema, verify_urls ] | |
steps: | |
- uses: actions/[email protected] | |
- name: Setup Node.js | |
uses: actions/[email protected] | |
with: | |
node-version: 12 | |
- name: Setup | |
run: | | |
npm install -g resume-cli | |
npm install jsonresume-theme-even | |
npm install jsonresume-theme-paper | |
mkdir output | |
mkdir tmp | |
- name: JSON -> HTML | |
run: | | |
resume export output/resume.html --format html | |
- name: Generate artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artefacts-html | |
path: output | |
# JSON, XML, YAML, CSV, ICS, PPTX | |
script_conversions: | |
name: Conversions based on JSON | |
runs-on: ubuntu-latest | |
needs: [ python_tests, verify_spelling, validate_schema, verify_urls ] | |
steps: | |
- uses: actions/[email protected] | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Setup | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python setup.py install | |
mkdir output | |
cp resume.json ./output/. | |
- name: JSON -> XML | |
run: python ./resume/__main__.py --input 'resume.json' --output 'output/resume.xml' --format 'xml' | |
- name: JSON -> YAML | |
run: python ./resume/__main__.py --input 'resume.json' --output 'output/resume.yml' --format 'yaml' | |
- name: JSON -> CSV | |
run: python ./resume/__main__.py --input 'resume.json' --output 'output/resume.csv' --format 'csv' | |
- name: JSON -> ICS | |
run: python ./resume/__main__.py --input 'resume.json' --output 'output/resume.ics' --format 'ics' | |
- name: JSON -> PPTX | |
run: python ./resume/__main__.py --input 'resume.json' --output 'output/resume.pptx' --format 'pptx' | |
- name: Generate artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artefacts-basic | |
path: output | |
# Markdown, TXT, Morse Code | |
markdown_conversions: | |
name: Conversions based on Markdown | |
runs-on: ubuntu-latest | |
needs: [ python_tests, verify_spelling, validate_schema, verify_urls ] | |
steps: | |
- uses: actions/[email protected] | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Setup | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
python setup.py install | |
mkdir output | |
cp resume.json ./output/. | |
- name: JSON -> Markdown | |
run: python ./resume/__main__.py --input 'resume.json' --output 'output/resume.md' --format 'markdown' | |
- name: Markdown -> TXT | |
uses: docker://pandoc/latex:2.9 | |
with: | |
args: --output=output/resume.txt | |
./output/resume.md | |
- name: TXT -> Morse Code (TXT) | |
run: python ./resume/__main__.py --input 'output/resume.txt' --output 'output/resume_morse_code.txt' --format 'morse' | |
- name: Generate artefacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artefacts-markdown | |
path: output | |
# CONVERSION END | |
# DEPLOYMENT BEGIN | |
create_release: | |
name: Bump version & create release | |
needs: [ html_conversions, script_conversions, markdown_conversions, pdf_conversions ] | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/main' | |
outputs: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
steps: | |
- uses: actions/[email protected] | |
with: | |
fetch-depth: '0' | |
- name: Bump version and push tag | |
id: version_bump | |
uses: anothrNick/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
RELEASE_BRANCHES: main | |
WITH_V: true | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.version_bump.outputs.tag }} | |
release_name: Resume - ${{ steps.version_bump.outputs.tag }} | |
draft: false | |
prerelease: false | |
upload_assets: | |
name: Upload assets | |
needs: create_release | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/main' | |
strategy: | |
matrix: | |
include: | |
- asset: resume.pdf | |
asset_content_type: application/pdf | |
- asset: resume.html | |
asset_content_type: text/html | |
- asset: resume.json | |
asset_content_type: application/json | |
- asset: resume.txt | |
asset_content_type: application/text | |
- asset: resume_morse_code.txt | |
asset_content_type: application/text | |
- asset: resume.md | |
asset_content_type: text/markdown | |
- asset: resume.xml | |
asset_content_type: application/xml | |
- asset: resume.jpg | |
asset_content_type: image/jpeg | |
- asset: resume.csv | |
asset_content_type: text/csv | |
- asset: resume.yml | |
asset_content_type: text/yaml | |
- asset: resume.tiff | |
asset_content_type: image/tiff | |
- asset: resume.ics | |
asset_content_type: text/calendar | |
- asset: resume.pptx | |
asset_content_type: application/vnd.openxmlformats-officedocument.presentationml.presentation | |
steps: | |
- name: Download HTML artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: artefacts-html | |
- name: Download JSON artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: artefacts-basic | |
- name: Download markdown artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: artefacts-markdown | |
- name: Download PDF artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: artefacts-pdf | |
- name: Upload | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.create_release.outputs.upload_url }} | |
asset_path: ${{ matrix.asset }} | |
asset_name: ${{ matrix.asset }} | |
asset_content_type: ${{ matrix.asset_content_type }} | |
deploy_github_pages: | |
name: Deploy to GitHub Pages | |
needs: upload_assets | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- name: Download HTML artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: artefacts-html | |
- name: Download basic artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: artefacts-basic | |
- name: Download markdown artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: artefacts-markdown | |
- name: Download PDF artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: artefacts-pdf | |
- name: Copy HTML file to public | |
run: | | |
mkdir public | |
mv resume.html public/index.html | |
rsync -am --exclude='*/' ./* public/ | |
- name: Deploy | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./public | |
publish_branch: github-page | |
# DEPLOYMENT END |