Skip to content

Update pandas requirement from ~=2.2.0 to ~=2.2.2 #333

Update pandas requirement from ~=2.2.0 to ~=2.2.2

Update pandas requirement from ~=2.2.0 to ~=2.2.2 #333

Workflow file for this run

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