feat: add slim #225
This file contains hidden or 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: 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 |