Skip to content

Build the digital-land database #1314

Build the digital-land database

Build the digital-land database #1314

Workflow file for this run

name: Build the digital-land database
on:
schedule:
- cron: 0 5 * * *
workflow_dispatch: null
env:
DLB_BOT_EMAIL: ${{ secrets.DLB_BOT_EMAIL }}
DLB_BOT_TOKEN: ${{ secrets.DLB_BOT_TOKEN }}
DLB_BOT_USERNAME: ${{ secrets.DLB_BOT_USERNAME }}
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Free up disk space
run: |
df -h
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
echo
df -h
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Configure git
run: |
git config user.email "${DLB_BOT_EMAIL}"
git config user.name "${DLB_BOT_USERNAME}"
git remote set-url origin https://${DLB_BOT_USERNAME}:${DLB_BOT_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
git checkout ${GITHUB_REF_NAME}
- name: Update makerules
run: make makerules
- name: Commit updated makerules
run: make commit-makerules
- name: Install dependencies
run: make init
- name: Clobber dataset
run: make clobber
- name: Build dataset
run: make
# Development
- name: Configure Development AWS Credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
aws-access-key-id: ${{secrets.DEVELOPMENT_AWS_ACCESS_KEY_ID}}
aws-secret-access-key: ${{secrets.DEVELOPMENT_AWS_ACCESS_SECRET}}
aws-region: eu-west-2
- name: Save datasets to Development S3
env:
COLLECTION_DATASET_BUCKET_NAME: ${{secrets.DEVELOPMENT_DATA_S3_BUCKET}}
HOISTED_COLLECTION_DATASET_BUCKET_NAME: ${{secrets.DEVELOPMENT_DATA_S3_BUCKET}}
run: make save-dataset
# Staging
- name: Configure Staging AWS Credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
aws-access-key-id: ${{secrets.STAGING_AWS_ACCESS_KEY_ID}}
aws-secret-access-key: ${{secrets.STAGING_AWS_ACCESS_SECRET}}
aws-region: eu-west-2
- name: Save datasets to Staging S3
env:
COLLECTION_DATASET_BUCKET_NAME: ${{secrets.STAGING_DATA_S3_BUCKET}}
HOISTED_COLLECTION_DATASET_BUCKET_NAME: ${{secrets.STAGING_DATA_S3_BUCKET}}
run: make save-dataset
# Production
- name: Configure Production AWS Credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
aws-access-key-id: ${{secrets.PROD_AWS_ACCESS_KEY_ID}}
aws-secret-access-key: ${{secrets.PROD_AWS_ACCESS_SECRET}}
aws-region: eu-west-2
- name: Save datasets to Prod S3
env:
COLLECTION_DATASET_BUCKET_NAME: ${{secrets.PRODUCTION_DATA_S3_BUCKET}}
HOISTED_COLLECTION_DATASET_BUCKET_NAME: ${{secrets.PRODUCTION_DATA_S3_BUCKET}}
run: make save-dataset
check-digital-land-builder-errors:
runs-on: ubuntu-latest
needs:
- build
if: always() && contains(join(needs.*.result, ','), 'failure')
steps:
- name: send failure notification
uses: slackapi/slack-github-action@v1
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
with:
channel-id: 'planning-data-platform'
payload: |
{
"text": "Digital Land Builder Has Failed",
"icon_emoji": ":warning:",
"username": "DigitalLandBuilder",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "Digital Land Builder Has Failed"
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "The report is available on <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|GitHub>"
}
}
]
}