From 919e73739bc5ce46e30a995427aa399159280d3f Mon Sep 17 00:00:00 2001 From: Andy Salnikov Date: Tue, 4 Oct 2022 22:06:57 -0700 Subject: [PATCH] Update github actions --- .github/workflows/build.yaml | 18 +++++++------ .github/workflows/formatting.yaml | 22 +++------------- .github/workflows/lint.yaml | 23 +++++------------ .github/workflows/mypy.yaml | 42 +++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 43 deletions(-) create mode 100644 .github/workflows/mypy.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 856313c..622acff 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -8,16 +8,20 @@ on: jobs: build_and_test: - # runs-on: ubuntu-latest - # Need >= 20.04 for modern sqlite. Can switch to latest when - # github change - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10"] + steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + with: + # Need to clone everything for the git tags. + fetch-depth: 0 - uses: conda-incubator/setup-miniconda@v2 with: - python-version: 3.8 + python-version: ${{ matrix.python-version }} channels: conda-forge,defaults channel-priority: strict show-channel-urls: true @@ -25,7 +29,7 @@ jobs: - name: Update pip/wheel infrastructure shell: bash -l {0} run: | - conda install -y -q pip wheel + conda install -y -q "pip<22" wheel - name: Install dependencies shell: bash -l {0} diff --git a/.github/workflows/formatting.yaml b/.github/workflows/formatting.yaml index 88dcdb2..27f34a6 100644 --- a/.github/workflows/formatting.yaml +++ b/.github/workflows/formatting.yaml @@ -1,4 +1,4 @@ -name: check Python formatting +name: Check Python formatting on: push: @@ -7,21 +7,5 @@ on: pull_request: jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - - name: Install isort and black - run: pip install isort black - - - name: Run isort - run: isort --diff --check-only python/ tests/ - - - name: Run black - run: black --check --verbose --diff python/ tests/ + call-workflow: + uses: lsst/rubin_workflows/.github/workflows/formatting.yaml@main diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 9ced7fe..796ef92 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -1,22 +1,11 @@ name: lint on: - - push - - pull_request + push: + branches: + - main + pull_request: jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - - name: Install - run: pip install -r <(curl https://raw.githubusercontent.com/lsst/linting/main/requirements.txt) - - - name: Run linter - run: flake8 + call-workflow: + uses: lsst/rubin_workflows/.github/workflows/lint.yaml@main diff --git a/.github/workflows/mypy.yaml b/.github/workflows/mypy.yaml new file mode 100644 index 0000000..6ca7b28 --- /dev/null +++ b/.github/workflows/mypy.yaml @@ -0,0 +1,42 @@ +name: Run mypy + +on: + push: + branches: + - main + pull_request: + +jobs: + mypy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup Python + uses: actions/setup-python@v3 + with: + python-version: "3.10.6" + cache: "pip" + + - name: Install + run: pip install mypy pydantic + + - name: Install types dependencies + run: | + if [ -e types.txt ] + then + pip install -r types.txt + fi + - name: Install lsst dependencies + run: | + if [ -e requirements.txt ] + then + pip install -r requirements.txt + fi + - name: Run mypy + run: | + prefix="python/lsst" + echo "__all__ = ['__version__']" > "${prefix}/daf/butler_migrate/version.py" + echo "__version__ = '0.0.1'" >> "${prefix}/daf/butler_migrate/version.py" + mypy "${prefix}"