1name: docker-builds 2 3on: 4 workflow_dispatch: 5 pull_request: 6 paths: 7 - .ci/docker/** 8 - .github/workflows/docker-builds.yml 9 - requirements-lintrunner.txt 10 - examples/arm/setup.sh 11 - examples/arm/ethos-u-setup/** 12 push: 13 branches: 14 - main 15 - release/* 16 paths: 17 - .ci/docker/** 18 - .github/workflows/docker-builds.yml 19 - requirements-lintrunner.txt 20 - examples/arm/setup.sh 21 - examples/arm/ethos-u-setup/** 22 schedule: 23 - cron: 1 3 * * 3 24 25concurrency: 26 group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }} 27 cancel-in-progress: true 28 29env: 30 AWS_DEFAULT_REGION: us-east-1 31 32jobs: 33 docker-build: 34 runs-on: [self-hosted, linux.2xlarge] 35 timeout-minutes: 240 36 strategy: 37 fail-fast: false 38 matrix: 39 include: 40 - docker-image-name: executorch-ubuntu-22.04-gcc9 41 - docker-image-name: executorch-ubuntu-22.04-clang12 42 - docker-image-name: executorch-ubuntu-22.04-linter 43 - docker-image-name: executorch-ubuntu-22.04-arm-sdk 44 - docker-image-name: executorch-ubuntu-22.04-qnn-sdk 45 - docker-image-name: executorch-ubuntu-22.04-clang12-android 46 env: 47 DOCKER_IMAGE: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/${{ matrix.docker-image-name }} 48 steps: 49 - name: Clean workspace 50 shell: bash 51 run: | 52 echo "${GITHUB_WORKSPACE}" 53 sudo rm -rf "${GITHUB_WORKSPACE}" 54 mkdir "${GITHUB_WORKSPACE}" 55 56 - name: Setup SSH (Click me for login details) 57 uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.5 58 with: 59 github-secret: ${{ secrets.GITHUB_TOKEN }} 60 61 - name: Checkout Executorch 62 uses: actions/checkout@v3 63 64 - name: Setup Linux 65 uses: pytorch/test-infra/.github/actions/setup-linux@release/2.5 66 67 - name: Build docker image 68 id: build-docker-image 69 uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.5 70 with: 71 docker-image-name: ${{ matrix.docker-image-name }} 72 always-rebuild: true 73 push: true 74 force-push: true 75 76 - name: Teardown Linux 77 uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.5 78 if: always() 79