feat: Initial Python project setup with monorepo structure #5
Workflow file for this run
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: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up mise | |
| uses: jdx/mise-action@v2 | |
| - name: Install dependencies | |
| run: mise run install | |
| - name: Run ruff linter | |
| run: mise run lint | |
| - name: Check formatting | |
| run: mise run format-check | |
| typecheck: | |
| name: Type Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up mise | |
| uses: jdx/mise-action@v2 | |
| - name: Install dependencies | |
| run: mise run install | |
| - name: Run type checkers | |
| run: mise run typecheck | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up mise | |
| uses: jdx/mise-action@v2 | |
| - name: Install dependencies | |
| run: mise run install | |
| - name: Run pytest | |
| run: mise run coverage | |
| - name: Run behave | |
| run: mise run test-bdd | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| files: ./coverage.xml | |
| fail_ci_if_error: false | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| needs: [lint, typecheck, test] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up mise | |
| uses: jdx/mise-action@v2 | |
| - name: Build packages | |
| run: mise run build | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist | |
| path: | | |
| packages/morphir/dist/ | |
| packages/morphir-tools/dist/ |