types-aiobotocore sanity #19
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: types-aiobotocore sanity | |
on: | |
schedule: | |
- cron: "0 0 1 * *" | |
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: "3.12" | |
cache: "poetry" | |
- name: Set up Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "20" | |
- name: Install dependencies | |
run: | | |
poetry install -n | |
poetry run pip install -U aioboto3 boto3-stubs types-aiobotocore types-aioboto3 | |
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: Install Node.js dependencies | |
run: | | |
npm install -g pyright | |
- name: Build master packages | |
run: | | |
rm -rf mypy_boto3_output/* | |
poetry run mypy_boto3_builder mypy_boto3_output --product aioboto3 aiobotocore | |
- name: Install master packages | |
run: | | |
bash ./scripts/install_aiobotocore.sh master | |
- name: Check s3 output | |
run: | | |
poetry run mypy_boto3_builder mypy_boto3_output --product aiobotocore-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 aiobotocore-services | |
- name: Check output | |
run: | | |
poetry run python ./scripts/check_output.py -p ./mypy_boto3_output |