Skip to content

Bump typer from 0.20.1 to 0.21.0 in the python-deps group #1661

Bump typer from 0.20.1 to 0.21.0 in the python-deps group

Bump typer from 0.20.1 to 0.21.0 in the python-deps group #1661

Workflow file for this run

name: Test
on:
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.x
cache: "pip"
- name: Install pip packages
run: |
python -m pip install --upgrade pip
- name: flake8
run: |
pip install flake8
flake8 .
- name: pydocstyle
run: |
pip install pydocstyle
pydocstyle .
action-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.x
cache: pip
- name: Run unit tests
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
python -m unittest discover -s .github/actions -p 'test_*.py'
targets:
runs-on: ubuntu-latest
outputs:
amd64: ${{ steps.amd64.outputs.distros }}
arm64: ${{ steps.arm64.outputs.distros }}
has_changes: ${{ steps.filter.outputs.affected }}
steps:
- name: Checkout Repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Find changed files
uses: dorny/paths-filter@v3
id: filter
with:
list-files: csv
filters: |
docker:
- '*/*.Dockerfile'
action:
- '.github/actions/docker-*/*'
affected:
- '*/*.Dockerfile'
- '.github/actions/docker-*/*'
- name: amd64 targets
run: |
{
echo "## AMD64"
} >> "$GITHUB_STEP_SUMMARY"
- name: Generate list of amd64 targets (filtered)
id: amd64
uses: ./.github/actions/docker-targets
with:
changed: ${{ steps.filter.outputs.docker_files }}
all: ${{ steps.filter.outputs.action }}
- name: arm64 targets
run: |
{
echo "## ARM64"
} >> "$GITHUB_STEP_SUMMARY"
- name: Generate list of arm64 targets (filtered)
id: arm64
uses: ./.github/actions/docker-targets
with:
platform: "linux/arm64"
changed: ${{ steps.filter.outputs.docker_files }}
all: ${{ steps.filter.outputs.action }}
bake-build-amd64:
name: Build (${{ matrix.family }}:${{ matrix.distro }} @ amd64
needs: targets
if: ${{ needs.targets.outputs.has_changes == 'true' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.targets.outputs.amd64) }}
steps:
- uses: actions/checkout@v6
- name: Build via composite action
uses: ./.github/actions/docker-bake
with:
family: ${{ matrix.family }} # e.g. ros2
distro: ${{ matrix.distro }} # e.g. rolling
ghcr-username: ${{ github.actor }} # optional
ghcr-password: ${{ secrets.GITHUB_TOKEN }} # optional
push: "false"
bake-build-arm64:
name: Build (${{ matrix.family }}:${{ matrix.distro }} @ arm64)
needs: targets
if: ${{ needs.targets.outputs.has_changes == 'true' }}
runs-on: ubuntu-24.04-arm
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.targets.outputs.arm64) }}
steps:
- uses: actions/checkout@v6
- name: Build via composite action
uses: ./.github/actions/docker-bake
with:
family: ${{ matrix.family }} # e.g. ros2
distro: ${{ matrix.distro }} # e.g. rolling
ghcr-username: ${{ github.actor }} # optional
ghcr-password: ${{ secrets.GITHUB_TOKEN }} # optional
push: "false"
merge-manifests:
name: Merge manifests (${{ matrix.family }}:${{ matrix.distro }})
needs:
- bake-build-amd64
- bake-build-arm64
- targets
if: ${{ needs.targets.outputs.has_changes == 'true' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.targets.outputs.amd64) }}
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v6
- name: Download bake metadata artifacts
uses: actions/download-artifact@v7
with:
pattern: bake-metadata-${{ matrix.family }}-${{ matrix.distro }}-*
path: bake-metadata
merge-multiple: true
- name: Merge manifests
uses: ./.github/actions/docker-merge
with:
family: ${{ matrix.family }}
distro: ${{ matrix.distro }}
metadata: |
bake-metadata
ghcr-username: ${{ github.repository_owner }}
ghcr-password: ${{ secrets.GITHUB_TOKEN }}
dry-run: "true"
complete:
needs:
- lint
- action-tests
- merge-manifests
if: ${{ always() && !cancelled() && needs.merge-manifests.result != 'cancelled' }}
runs-on: ubuntu-latest
steps:
- name: Check
run: |
if [ "${{ needs.lint.result }}" != 'success' ]; then
echo "Lint failed"
exit 1
fi
if [ "${{ needs.action-tests.result }}" != 'success' ]; then
echo "Action tests failed"
exit 1
fi
if [ "${{ needs.merge-manifests.result }}" != 'skipped' ] && \
[ "${{ needs.merge-manifests.result }}" != 'success' ]; then
echo "Docker failed"
exit 1
fi
echo "Completed successfully"