diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml new file mode 100644 index 0000000..d4b5f7c --- /dev/null +++ b/.github/workflows/actions.yml @@ -0,0 +1,61 @@ +name: Update gdp data + +on: + # Schedule to run daily + schedule: + - cron: '0 0 * * *' + + push: + branches: + - main + + pull_request: + branches: + - main + + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + if: github.ref == 'refs/heads/main' + + steps: + - name: Check out repository + uses: actions/checkout@v3 + + - name: Set up Python 3.12 + uses: actions/setup-python@v4 + with: + python-version: '3.12' + + - name: Install Python dependencies + run: | + python -m venv venv + source venv/bin/activate + pip install --upgrade pip + pip install -r scripts/requirements.txt + + - name: Run scripts + run: | + source venv/bin/activate + python scripts/process.py + + - name: Configure Git + run: | + git config --global user.email "${{ env.CI_COMMIT_EMAIL }}" + git config --global user.name "${{ env.CI_COMMIT_NAME }}" + env: + CI_COMMIT_NAME: "Automated commit" + CI_COMMIT_EMAIL: "actions@users.noreply.github.com" + + - name: Commit and Push changes + run: | + git diff --quiet && echo "No changes to commit" || ( + git add . && + git commit -m "${{ env.CI_COMMIT_MESSAGE }}" && + git push origin main + ) + env: + CI_COMMIT_MESSAGE: "Automated commit" \ No newline at end of file