# Inspired by # https://github.com/huggingface/peft/blob/main/.github/workflows/build_docker_images.yml name: Builds on: workflow_dispatch: workflow_call: schedule: - cron: "0 1 * * *" env: PYTHON_VERSION: "3.10" # CI_SLACK_CHANNEL: ${{ secrets.CI_DOCKER_CHANNEL }} jobs: latest-cpu: name: CPU runs-on: ubuntu-latest steps: - name: Cleanup disk run: | sudo df -h # sudo ls -l /usr/local/lib/ # sudo ls -l /usr/share/ sudo du -sh /usr/local/lib/ sudo du -sh /usr/share/ sudo rm -rf /usr/local/lib/android sudo rm -rf /usr/share/dotnet sudo du -sh /usr/local/lib/ sudo du -sh /usr/share/ sudo df -h - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Check out code uses: actions/checkout@v4 # HACK(aliberts): to be removed for release # ----------------------------------------- - name: Checkout gym-aloha uses: actions/checkout@v4 with: repository: huggingface/gym-aloha path: envs/gym-aloha ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Checkout gym-xarm uses: actions/checkout@v4 with: repository: huggingface/gym-xarm path: envs/gym-xarm ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Checkout gym-pusht uses: actions/checkout@v4 with: repository: huggingface/gym-pusht path: envs/gym-pusht ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Set up Python 3.10 uses: actions/setup-python@v5 with: python-version: "3.10" - name: Change envs dependencies as local path run: python .github/scripts/dep_build.py # ----------------------------------------- - name: Login to DockerHub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Build and Push CPU uses: docker/build-push-action@v5 with: context: . file: ./docker/lerobot-cpu/Dockerfile push: true tags: huggingface/lerobot-cpu build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }} # - name: Post to a Slack channel # id: slack # #uses: slackapi/slack-github-action@v1.25.0 # uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 # with: # # Slack channel id, channel name, or user id to post message. # # See also: https://api.slack.com/methods/chat.postMessage#channels # channel-id: ${{ env.CI_SLACK_CHANNEL }} # # For posting a rich message using Block Kit # payload: | # { # "text": "lerobot-cpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}", # "blocks": [ # { # "type": "section", # "text": { # "type": "mrkdwn", # "text": "lerobot-cpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}" # } # } # ] # } # env: # SLACK_BOT_TOKEN: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} latest-cuda: name: GPU runs-on: ubuntu-latest steps: - name: Cleanup disk run: | sudo df -h # sudo ls -l /usr/local/lib/ # sudo ls -l /usr/share/ sudo du -sh /usr/local/lib/ sudo du -sh /usr/share/ sudo rm -rf /usr/local/lib/android sudo rm -rf /usr/share/dotnet sudo du -sh /usr/local/lib/ sudo du -sh /usr/share/ sudo df -h - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Check out code uses: actions/checkout@v4 # HACK(aliberts): to be removed for release # ----------------------------------------- - name: Checkout gym-aloha uses: actions/checkout@v4 with: repository: huggingface/gym-aloha path: envs/gym-aloha ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Checkout gym-xarm uses: actions/checkout@v4 with: repository: huggingface/gym-xarm path: envs/gym-xarm ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Checkout gym-pusht uses: actions/checkout@v4 with: repository: huggingface/gym-pusht path: envs/gym-pusht ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Set up Python 3.10 uses: actions/setup-python@v5 with: python-version: "3.10" - name: Change envs dependencies as local path run: python .github/scripts/dep_build.py # ----------------------------------------- - name: Login to DockerHub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Build and Push GPU uses: docker/build-push-action@v5 with: context: . file: ./docker/lerobot-gpu/Dockerfile push: true tags: huggingface/lerobot-gpu build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }} # - name: Post to a Slack channel # id: slack # #uses: slackapi/slack-github-action@v1.25.0 # uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 # with: # # Slack channel id, channel name, or user id to post message. # # See also: https://api.slack.com/methods/chat.postMessage#channels # channel-id: ${{ env.CI_SLACK_CHANNEL }} # # For posting a rich message using Block Kit # payload: | # { # "text": "lerobot-gpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}", # "blocks": [ # { # "type": "section", # "text": { # "type": "mrkdwn", # "text": "lerobot-gpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}" # } # } # ] # } # env: # SLACK_BOT_TOKEN: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }}