Skip to content

.github/workflows/aligulac-import.yaml #18

.github/workflows/aligulac-import.yaml

.github/workflows/aligulac-import.yaml #18

on:
workflow_dispatch:
schedule:
- cron: '0 20 * * 5'
#permissions:
# contents: write
jobs:
import_aligulac:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16-alpine
ports:
- 5432:5432
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Install postgres client
run: sudo apt-get install -y postgresql-client
- name: Postgres client version
run: psql --version
- name: Install yq
run: sudo snap install yq --channel=v4/stable
- name: Check out repository code
uses: actions/checkout@v4
- name: Download Aligulac dump
run: wget -qO- http://static.aligulac.com/aligulac.sql.gz | gzip -d > aligulac.sql
- name: Modify dump for faster import
run: sed -i -e 's/CREATE TABLE/CREATE UNLOGGED TABLE/g' aligulac.sql
- name: Import Aligulac DB
run: PGPASSWORD=postgres psql -h localhost -p 5432 -d postgres -U postgres -f aligulac.sql
- name: Import GuessTheSC2Pro Fixes
run: PGPASSWORD=postgres psql -h localhost -p 5432 -d postgres -U postgres -f db_import/data-fixup.sql
- name: Export player data
run: PGPASSWORD=postgres psql -h localhost -p 5432 -d postgres -U postgres --csv -f db_import/top500-earnings.sql > result.csv
- name: Display CSV
run: cat result.csv
- name: Convert to JSON
run: yq result.csv -p=csv -o=json > players.json
- name: Display JSON
run: cat players.json
- name: Truncated 400 Player Json
run: yq '.[0:400]' players.json -o=json > players400.json && yq 'length' players400.json
- name: Truncated 250 Player Json
run: yq '.[0:250]' players.json -o=json > players250.json && yq 'length' players250.json
- name: Turn Json files into JS
run: sed -i -e '1s/^/var players = /' -e '$a/\;/' players400.json && sed -i -e '1s/^/var players = /' -e '$a/\;/' players250.json
- name: Rename to js
run: mv players400.json players400.js && mv players250.json players250.js
- name: Print players250
run: cat players250.js
- name: Move to correct location
run: mv players400.js assets/js/players400.js && mv players250.js assets/js/players250.js
- name: Git Status
run: git status && git diff assets/js/players250.js
#- name: Commit changes
# run: |
# git config --global user.name 'GH Action Bot'
# git config --global user.email 'tobijdce@users.noreply.github.com'
# git add TODO
# git commit -m "Automated Player Update"
# git push