name: python build on: pull_request: types: [opened, synchronize] paths: - python/** merge_group: types: [checks_requested] paths: - python/** push: # Always run on push to main. The build cache can only be reused # if it was saved by a run from the repository's default branch. # The run result will be identical to that from the merge queue # because the commit is identical, yet we need to perform it to # seed the build cache. branches: - main jobs: python_tests: name: tests runs-on: ubuntu-latest strategy: fail-fast: false matrix: pyVersion: ['3.10', '3.11', '3.12', '3.13'] steps: - name: Checkout repository and submodules uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 with: go-version-file: go.mod - name: Install uv uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 with: python-version: ${{ matrix.pyVersion }} version: "0.6.5" - name: Run tests run: go tool -modfile=tools/task/go.mod task pydabs-test python_linters: name: lint runs-on: ubuntu-latest steps: - name: Checkout repository and submodules uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 with: go-version-file: go.mod - name: Install uv uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 with: version: "0.6.5" - name: Run lint run: go tool -modfile=tools/task/go.mod task pydabs-lint python_docs: name: docs runs-on: ubuntu-latest steps: - name: Checkout repository and submodules uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 with: go-version-file: go.mod - name: Install uv uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 with: version: "0.6.5" - name: Run docs run: go tool -modfile=tools/task/go.mod task pydabs-docs