Skip to content

feat: add blog post #217

feat: add blog post

feat: add blog post #217

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
release:
types: [published]
env:
duckdb-version: "1.2.2"
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
env:
DUCKDB_LIB_DIR: ${{ github.workspace }}/opt/duckdb
LD_LIBRARY_PATH: ${{ github.workspace }}/opt/duckdb
DYLD_LIBRARY_PATH: ${{ github.workspace }}/opt/duckdb
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- name: Install libduckdb
run: |
wget https://github.com/duckdb/duckdb/releases/download/v${{ env.duckdb-version }}/libduckdb-linux-amd64.zip
mkdir -p ${{ github.workspace }}/opt/duckdb
unzip libduckdb-linux-amd64.zip -d ${{ github.workspace }}/opt/duckdb
- name: Sync uv
run: uv sync --all-extras --all-groups
- name: Install yarn deps
run: yarn install
- name: Lint
run: scripts/lint
- name: Build docs
run: uv run mkdocs build --strict
deploy:
name: Deploy
needs: [lint]
permissions:
id-token: write
contents: read
runs-on: ubuntu-latest
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
env:
STACK_NAME: stac-fastapi-geoparquet-labs-375
STACK_STAGE: ${{ vars.STAGE }}
STACK_OWNER: labs-375
STACK_RELEASE: ${{ github.event.release.tag_name }}
STACK_BUCKET_NAME: stac-fastapi-geoparquet-labs-375
STACK_COLLECTIONS_KEY: collections.json
STACK_RATE_LIMIT: 10
STACK_API_CUSTOM_DOMAIN: ${{ vars.API_CUSTOM_DOMAIN }}
STACK_ACM_CERTIFICATE_ARN: ${{ vars.ACM_CERTIFICATE_ARN }}
environment:
name: development
url: ${{ steps.deploy.outputs.api_url }}
defaults:
run:
working-directory: infrastructure/aws
steps:
- uses: actions/checkout@v4
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::390960605471:role/labs-375-stac-fastapi-geoparquet-github-actions
role-session-name: stac-fastapi-geoparquet-deploy
aws-region: us-west-2
- uses: actions/setup-node@v2
with:
node-version: 22
- uses: astral-sh/setup-uv@v3
- name: Install npm dependencies
run: uv run --only-group deploy npm install
- name: CDK Deploy
id: deploy
run: |
uv run --only-group deploy npm run cdk -- deploy --require-approval never --all
API_URL=$(aws cloudformation describe-stacks --stack-name ${STACK_NAME}-${STACK_STAGE}-app --query 'Stacks[0].Outputs[?OutputKey==`GeoparquetApiURL`].OutputValue' --output text)
echo "::notice title=API URL::${API_URL}"
echo api_url=$API_URL >> $GITHUB_OUTPUT