• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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