Run Makefile with Selenium #26
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: Run Makefile with Selenium | |
on: | |
# Schedule to run on the 1st day of each month | |
schedule: | |
- cron: '0 0 1 * *' | |
# Run on push to master branch | |
push: | |
branches: | |
- main | |
# Run on pull requests targeting the master branch | |
pull_request: | |
branches: | |
- main | |
# Allows manual triggering of the workflow | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
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: Install Xvfb and dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y xvfb | |
sudo apt-get install -y chromium-browser | |
- name: Run Makefile with Xvfb | |
run: | | |
Xvfb :99 -screen 0 1024x768x24 & | |
export DISPLAY=:99 | |
source venv/bin/activate | |
make update | |
- name: Run Make Clean | |
run: | | |
source venv/bin/activate | |
make clean | |
- name: Push and Commit | |
env: | |
CI_COMMIT_NAME: "Automated commit" | |
CI_COMMIT_EMAIL: "[email protected]" | |
CI_COMMIT_MESSAGE: "Automated commit" | |
run: | | |
git config --global user.email "${{env.CI_COMMIT_EMAIL}}" | |
git config --global user.name "${{env.CI_COMMIT_NAME}}" | |
git diff --quiet && echo "No changes to commit" || (git add data/country-codes.csv && git commit -m "${{env.CI_COMMIT_MESSAGE}}" && git push) |