Volatility Engine Automation Workflow #1576
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: Volatility Engine Automation Workflow | |
on: | |
push: | |
branches: [ "main" ] | |
# pull_request: | |
# branches: [ "main" ] | |
schedule: | |
- cron: '0 */4 * * *' | |
permissions: | |
contents: write | |
env: | |
ARBITRUM_RPC: ${{ secrets.ARBITRUM_RPC }} | |
GOERLI_RPC: ${{ secrets.GOERLI_RPC }} | |
VALIDATOR_PRIVATE_KEY: ${{ secrets.VALIDATOR_PRIVATE_KEY }} | |
# PAT is not needed since GITHUB_TOKEN will be used | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} # This token is used for operations within this repo | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v3 | |
with: | |
python-version: '3.10' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
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: Run automation script | |
run: | | |
python automate.py | |
- name: Commit and push if there are changes | |
run: | | |
git config user.name "Automated" | |
git config user.email "[email protected]" | |
git add -A | |
timestamp=$(date -u) | |
git commit -m "Latest data: ${timestamp}" || exit 0 # The exit 0 command will prevent the workflow from failing if there's nothing to commit | |
git push | |
- name: Send failure notification | |
if: failure() | |
run: | | |
curl -X POST -H "Content-Type: application/json" -d '{"content": "An error occurred in the Y2K Volatility Engine Actions workflow"}' ${{ secrets.WEBHOOK_URL }}" | |
# git remote set-url origin https://x-access-token:${{ secrets.PAT }}@github.com/Y2K-Finance/Y2K-Volatility-Engine.git | |
# git add -A | |
# timestamp=$(date -u) | |
# git commit -m "Latest data: ${timestamp}" || exit 0 | |
# git push |