2021-10-13 16:00:33 -04:00
name : Combine and Tilefy
on :
workflow_dispatch :
inputs :
confirm-action :
description : This will rebuild the data sources and regenerate the score, are you sure you want to proceed? (Y/n)
default : n
required : true
2022-03-17 23:19:23 -04:00
env :
BE_CDN_ID : E1324VDMNCO97N
2021-10-13 16:00:33 -04:00
jobs :
deploy_data :
runs-on : ubuntu-latest
defaults :
run :
working-directory : data/data-pipeline
strategy :
matrix :
python-version : [ 3.9 ]
steps :
- name : Checkout source
uses : actions/checkout@v2
- name : Print variables to help debug
uses : hmarr/debug-action@v2
- name : Set up Python ${{ matrix.python-version }}
uses : actions/setup-python@v2
with :
python-version : ${{ matrix.python-version }}
2022-03-17 23:19:23 -04:00
- name : Load cached Poetry installation
uses : actions/cache@v2
id : cached-poetry-dependencies
with :
path : ~/.cache/pypoetry/virtualenvs
2022-03-21 18:55:15 -04:00
key : env-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}-${{ hashFiles('.github/workflows/combine-tilefy.yml') }}
2022-03-17 23:19:23 -04:00
- name : Install poetry
uses : snok/install-poetry@v1
- name : Print Poetry settings
run : poetry show -v
2021-11-02 14:21:57 -04:00
- name : Install dependencies
2022-03-17 23:19:23 -04:00
run : poetry add s4cmd && poetry install
if : steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
2021-11-02 14:21:57 -04:00
- name : Install GDAL/ogr2ogr
run : |
2021-11-30 15:03:07 -05:00
sudo add-apt-repository ppa:ubuntugis/ppa
2022-03-17 23:19:23 -04:00
sudo apt-get update
2021-11-30 15:03:07 -05:00
sudo apt-get -y install gdal-bin
ogrinfo --version
2021-11-02 15:23:17 -04:00
- name : Set timezone for tippecanoe
uses : szenius/set-timezone@v1.0
with :
2022-03-04 15:02:09 -05:00
timezoneLinux : "America/Los_Angeles"
2021-11-02 14:10:56 -04:00
- name : Get tippecanoe
2021-11-02 13:34:12 -04:00
run : |
sudo apt-get install -y software-properties-common libsqlite3-dev zlib1g-dev
sudo apt-add-repository -y ppa:git-core/ppa
2021-11-02 13:58:09 -04:00
sudo mkdir -p /tmp/tippecanoe-src
sudo git clone https://github.com/mapbox/tippecanoe.git /tmp/tippecanoe-src
2021-11-02 14:44:59 -04:00
- name : Make tippecanoe
2021-11-02 14:10:56 -04:00
working-directory : /tmp/tippecanoe-src
run : |
2021-11-03 10:23:06 -04:00
sudo /usr/bin/bash -c make
mkdir -p /usr/local/bin
cp tippecanoe /usr/local/bin/tippecanoe
2022-03-04 15:02:09 -05:00
tippecanoe -v
2021-10-13 16:00:33 -04:00
- name : Run Scripts
run : |
2021-11-01 18:05:05 -04:00
poetry run python3 data_pipeline/application.py geo-score -s aws
2021-11-02 12:06:06 -04:00
poetry run python3 data_pipeline/application.py generate-map-tiles
2021-10-13 16:00:33 -04:00
- name : Configure AWS Credentials
uses : aws-actions/configure-aws-credentials@v1
with :
aws-access-key-id : ${{ secrets.DATA_DEV_AWS_ACCESS_KEY_ID }}
aws-secret-access-key : ${{ secrets.DATA_DEV_AWS_SECRET_ACCESS_KEY }}
aws-region : us-east-1
- name : Deploy to Geoplatform AWS
run : |
2022-03-21 11:54:52 -04:00
poetry run s4cmd put ./data_pipeline/data/score/geojson/ s3://justice40-data/data-pipeline/data/score/geojson --recursive --force --API-ACL=public-read --num-threads=250
poetry run s4cmd put ./data_pipeline/data/score/shapefile/ s3://justice40-data/data-pipeline/data/score/shapefile --recursive --force --API-ACL=public-read
poetry run s4cmd put ./data_pipeline/data/score/tiles/ s3://justice40-data/data-pipeline/data/score/tiles --recursive --force --API-ACL=public-read --num-threads=250
2022-03-17 23:19:23 -04:00
- name : Invalidate cache on AWS CDNs
uses : chetan/invalidate-cloudfront-action@master
env :
DISTRIBUTION : ${{env.BE_CDN_ID}}
PATHS : "/*"
AWS_REGION : "us-east-1"
AWS_ACCESS_KEY_ID : ${{ secrets.DATA_DEV_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY : ${{ secrets.DATA_DEV_AWS_SECRET_ACCESS_KEY }}