today.isangjeong/.github/workflows/python-app.yml
2025-02-02 14:20:57 +09:00

87 lines
2.3 KiB
YAML

name: Python application
on:
schedule:
- cron: "0 13 * * 0-4"
workflow_dispatch:
jobs:
run:
runs-on: ubuntu-latest
environment: Main
env:
BOT_ROOT: ${{ vars.BOT_ROOT }}
BOT_INSTAGRAM_ID: ${{ secrets.BOT_INSTAGRAM_ID }}
BOT_INSTAGRAM_PASSWD: ${{ secrets.BOT_INSTAGRAM_PASSWD }}
BOT_INSTAGRAM_TOTP: ${{ secrets.BOT_INSTAGRAM_TOTP }}
BOT_KEY: ${{ secrets.BOT_KEY }}
BOT_WEBHOOK_URL: ${{ secrets.BOT_WEBHOOK_URL }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v3
with:
python-version: "3.12"
# Cache Python dependencies
- name: Cache Python dependencies
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
# Cache cookie.json
- name: Cache app/temp/auth
uses: actions/cache@v3
with:
path: /home/runner/work/today.isangjeong/today.isangjeong/app/temp/auth
key: ${{ runner.os }}-cookie-${{ hashFiles('/home/runner/work/today.isangjeong/today.isangjeong/app/temp/auth/cookies.json') }}
restore-keys: |
${{ runner.os }}-cookie-
- name: Install dependencies
run: |
pwd
python -m pip install --upgrade pip
if [ -f requirements.txt ] && ! pip freeze | diff - requirements.txt > /dev/null; then
pip install -r requirements.txt
else
echo "No changes in requirements.txt, skipping installation"
fi
- name: Set Permission
run: |
cd app
chmod +x run.sh
chmod +x gen-config.sh
- name: Generate Config
run: |
cd app
pwd
ls -al
./gen-config.sh
cat config.json
- name: Add SSH private key
run: |
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
- name: Start SOCKS proxy with SSH
run: |
ssh -o StrictHostKeyChecking=no -i ~/.ssh/id_ed25519 -D 9999 -f -N imnyang@imnya.ng -p5322
echo "SOCKS proxy started"
- name: Run
run: |
cd app
pwd
ls -al
./run.sh