esp32: fix I2C timeouts on larger transfers (#5674) #1657
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This is the Github action to build and push the tinygo/tinygo-dev Docker image. | |
| # If you are looking for the tinygo/tinygo "release" Docker image please see | |
| # https://github.com/tinygo-org/docker | |
| # | |
| # The compiler image is built on top of an LLVM image. The LLVM image is built | |
| # only when the registry holds no image for the current LLVM version and build | |
| # recipe, so a change to TinyGo alone does not build LLVM again. An LLVM build | |
| # takes at least 1-2 hours. | |
| # | |
| # Use the manual trigger with force-llvm to build the LLVM image again. | |
| name: Docker | |
| on: | |
| push: | |
| branches: [ dev ] | |
| workflow_dispatch: | |
| inputs: | |
| force-llvm: | |
| description: Build the LLVM image again | |
| type: boolean | |
| default: false | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| llvm: | |
| name: build-push-llvm | |
| runs-on: ubuntu-latest | |
| permissions: | |
| packages: write | |
| contents: read | |
| outputs: | |
| image: ${{ steps.tag.outputs.image }} | |
| steps: | |
| - name: Free Disk space | |
| shell: bash | |
| run: | | |
| df -h | |
| sudo rm -rf /opt/hostedtoolcache | |
| sudo rm -rf /usr/local/lib/android | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /usr/local/graalvm | |
| sudo rm -rf /usr/local/share/boost | |
| df -h | |
| - name: Check out the repo | |
| uses: actions/checkout@v6 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Log in to Github Container Registry | |
| uses: docker/login-action@v4 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Get the image tag | |
| id: tag | |
| shell: bash | |
| run: | | |
| tag=$(sh tools/llvm-image-tag.sh) | |
| echo "image=ghcr.io/${{ github.repository_owner }}/llvm-22:$tag" >> "$GITHUB_OUTPUT" | |
| - name: Look for the image | |
| id: check | |
| shell: bash | |
| run: | | |
| if docker buildx imagetools inspect "${{ steps.tag.outputs.image }}" > /dev/null 2>&1; then | |
| echo "exists=true" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "exists=false" >> "$GITHUB_OUTPUT" | |
| fi | |
| - name: Build and push | |
| if: steps.check.outputs.exists != 'true' || inputs.force-llvm | |
| uses: docker/build-push-action@v7 | |
| with: | |
| context: . | |
| file: Dockerfile.llvm | |
| push: true | |
| tags: ${{ steps.tag.outputs.image }} | |
| push_to_registry: | |
| name: build-push-dev | |
| needs: llvm | |
| runs-on: ubuntu-latest | |
| permissions: | |
| packages: write | |
| contents: read | |
| steps: | |
| - name: Free Disk space | |
| shell: bash | |
| run: | | |
| df -h | |
| sudo rm -rf /opt/hostedtoolcache | |
| sudo rm -rf /usr/local/lib/android | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /usr/local/graalvm | |
| sudo rm -rf /usr/local/share/boost | |
| df -h | |
| - name: Check out the repo | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Docker meta | |
| id: meta | |
| uses: docker/metadata-action@v6 | |
| with: | |
| images: | | |
| tinygo/tinygo-dev | |
| ghcr.io/${{ github.repository_owner }}/tinygo-dev | |
| tags: | | |
| type=sha,format=long | |
| type=raw,value=latest | |
| - name: Log in to Docker Hub | |
| uses: docker/login-action@v4 | |
| with: | |
| username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| - name: Log in to Github Container Registry | |
| uses: docker/login-action@v4 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and push | |
| uses: docker/build-push-action@v7 | |
| with: | |
| context: . | |
| push: true | |
| build-args: | | |
| LLVM_IMAGE=${{ needs.llvm.outputs.image }} | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/tinygo-dev:buildcache | |
| cache-to: type=registry,ref=ghcr.io/${{ github.repository_owner }}/tinygo-dev:buildcache,mode=max,ignore-error=true |