Skip to content

Python package

Python package #103

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Python package
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: "0 1-9/2 * * 1-5" # UTC TZ(korea time - 9)
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Set Secrets
env:
MAIL_ADDRESS: ${{ secrets.MAIL_ADDRESS }}
MAIL_PASSWORD: ${{ secrets.MAIL_PASSWORD }}
run: python crawler.py
- name: Set Git Config
run: |
git config --global user.name "riverallzero"
git config --global user.email "[email protected]"
- if: github.run_number == 1
run: |
git add last_no.txt
git commit -m "Create last_no.txt"
git push
- name: Check for changes
id: check_changes
run: |
if [ -n "$(git diff --name-only last_no.txt)" ]; then
echo "has_changes=true" >> $GITHUB_OUTPUT
fi
- name: Commit Update
run: |
echo steps.check_changes.outputs.has_changes=${{steps.check_changes.outputs.has_changes}}
if ${{steps.check_changes.outputs.has_changes}} = 'true'; then
git add last_no.txt
git commit -m "Updated last_no"
git push
else
echo "No changes detected."
fi