name: docker-builds on: workflow_dispatch: pull_request: paths: - .ci/docker/** - .github/workflows/docker-builds.yml - requirements-lintrunner.txt push: branches: - main - release/* paths: - .ci/docker/** - .github/workflows/docker-builds.yml - requirements-lintrunner.txt 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: timeout-minutes: 240 strategy: fail-fast: false matrix: runner: [linux.2xlarge] docker-image-name: [ executorch-ubuntu-22.04-gcc9, executorch-ubuntu-22.04-clang12, executorch-ubuntu-22.04-linter, executorch-ubuntu-22.04-arm-sdk, executorch-ubuntu-22.04-qnn-sdk, executorch-ubuntu-22.04-mediatek-sdk, executorch-ubuntu-22.04-clang12-android ] include: - docker-image-name: executorch-ubuntu-22.04-gcc11-aarch64 runner: linux.arm64.2xlarge runs-on: [self-hosted, "${{ matrix.runner }}"] 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@main with: github-secret: ${{ secrets.GITHUB_TOKEN }} - name: Checkout Executorch uses: actions/checkout@v3 - name: Setup Linux uses: pytorch/test-infra/.github/actions/setup-linux@main - name: Build docker image id: build-docker-image uses: pytorch/test-infra/.github/actions/calculate-docker-image@main 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@main if: always()