boto3-stubs sanity #1103
This file contains 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: boto3-stubs sanity | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
workflow_dispatch: | |
inputs: | |
boto3_version: | |
description: Target boto3 version | |
required: false | |
jobs: | |
versions: | |
runs-on: ubuntu-latest | |
outputs: | |
boto3: ${{ steps.boto3.outputs.result }} | |
botocore: ${{ steps.botocore.outputs.result }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Extract boto3 version | |
id: boto3 | |
uses: actions/github-script@v7 | |
with: | |
result-encoding: string | |
script: | | |
const { getBoto3Version, setupGlobals } = require('./.github/workflows/helpers.js') | |
setupGlobals({ core, context, fetch }) | |
const inputBoto3Version = context.payload.inputs && context.payload.inputs.boto3_version | |
const version = inputBoto3Version ? inputBoto3Version : await getBoto3Version() | |
core.notice(`boto3 version ${version}`) | |
return version | |
- name: Extract botocore version | |
id: botocore | |
uses: actions/github-script@v7 | |
env: | |
BOTO3_VERSION: ${{ steps.boto3.outputs.result }} | |
with: | |
result-encoding: string | |
script: | | |
const { getBotocoreVersion } = require('./.github/workflows/helpers.js') | |
const version = getBotocoreVersion(process.env.BOTO3_VERSION) | |
core.notice(`botocore version ${version}`) | |
return version | |
sanity-check: | |
runs-on: ubuntu-latest | |
needs: versions | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install poetry | |
run: pipx install poetry | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: pyproject.toml | |
cache: "poetry" | |
- name: Install dependencies | |
run: | | |
poetry install -n | |
- name: Install boto3 | |
env: | |
BOTO3_VERSION: ${{ needs.versions.outputs.boto3 }} | |
BOTOCORE_VERSION: ${{ needs.versions.outputs.botocore }} | |
run: | | |
poetry run pip install -U boto3==${BOTO3_VERSION} botocore==${BOTOCORE_VERSION} | |
- name: Build master packages | |
run: | | |
rm -rf mypy_boto3_output/* | |
poetry run mypy_boto3_builder mypy_boto3_output --product boto3 | |
- name: Install master packages | |
run: | | |
bash ./scripts/install.sh master | |
- name: Check s3 output | |
run: | | |
poetry run mypy_boto3_builder mypy_boto3_output --product boto3-services -s s3 | |
poetry run python ./scripts/check_output.py -p ./mypy_boto3_output s3 | |
- name: Build packages | |
run: | | |
poetry run mypy_boto3_builder mypy_boto3_output --product boto3-services | |
- name: Check output | |
run: | | |
poetry run python ./scripts/check_output.py -p ./mypy_boto3_output |