name: docker-builds on: workflow_dispatch: pull_request: paths: - .ci/docker/** - .github/workflows/docker-builds.yml - requirements-lintrunner.txt - examples/arm/setup.sh - examples/arm/ethos-u-setup/** push: branches: - main - release/* paths: - .ci/docker/** - .github/workflows/docker-builds.yml - requirements-lintrunner.txt - examples/arm/setup.sh - examples/arm/ethos-u-setup/** schedule: - cron: 1 3 * * 3 concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }} cancel-in-progress: true env: AWS_DEFAULT_REGION: us-east-1 jobs: docker-build: runs-on: [self-hosted, linux.2xlarge] timeout-minutes: 240 strategy: fail-fast: false matrix: include: - docker-image-name: executorch-ubuntu-22.04-gcc9 - docker-image-name: executorch-ubuntu-22.04-clang12 - docker-image-name: executorch-ubuntu-22.04-linter - docker-image-name: executorch-ubuntu-22.04-arm-sdk - docker-image-name: executorch-ubuntu-22.04-qnn-sdk - docker-image-name: executorch-ubuntu-22.04-clang12-android env: DOCKER_IMAGE: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/${{ matrix.docker-image-name }} steps: - name: Clean workspace shell: bash run: | echo "${GITHUB_WORKSPACE}" sudo rm -rf "${GITHUB_WORKSPACE}" mkdir "${GITHUB_WORKSPACE}" - name: Setup SSH (Click me for login details) uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.5 with: github-secret: ${{ secrets.GITHUB_TOKEN }} - name: Checkout Executorch uses: actions/checkout@v3 - name: Setup Linux uses: pytorch/test-infra/.github/actions/setup-linux@release/2.5 - name: Build docker image id: build-docker-image uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.5 with: docker-image-name: ${{ matrix.docker-image-name }} always-rebuild: true push: true force-push: true - name: Teardown Linux uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.5 if: always()