diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24bbb0a..e8847cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,12 +14,10 @@ jobs: name: Validate dbt project runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv - uses: astral-sh/setup-uv@v4 - with: - enable-cache: true + uses: astral-sh/setup-uv@v7 - name: Install Python dependencies run: uv sync @@ -38,12 +36,10 @@ jobs: runs-on: ubuntu-latest needs: validate steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv - uses: astral-sh/setup-uv@v4 - with: - enable-cache: true + uses: astral-sh/setup-uv@v7 - name: Install Python dependencies run: uv sync diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..3e7a290 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,62 @@ +name: Deploy dbt Docs to GitHub Pages + +on: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +env: + DBT_PROFILES_DIR: ${{ github.workspace }} + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Install uv + uses: astral-sh/setup-uv@v7 + + - name: Install Python dependencies + run: uv sync + + - name: Install dbt dependencies + run: uv run dbt deps + + - name: Load seed data + run: uv run dbt seed + + - name: Run dbt models + run: uv run dbt run + + - name: Generate dbt docs + run: uv run dbt docs generate + + - name: Setup Pages + uses: actions/configure-pages@v5 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v4 + with: + path: 'target' + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4