diff --git a/.gitea/workflows/docker-publish.yml b/.gitea/workflows/docker-publish.yml index c2fd2a5..eb517a6 100644 --- a/.gitea/workflows/docker-publish.yml +++ b/.gitea/workflows/docker-publish.yml @@ -6,7 +6,7 @@ on: - 'v*' jobs: - build-and-push: + build-base: runs-on: ubuntu-latest container: image: catthehacker/ubuntu:act-latest @@ -32,7 +32,7 @@ jobs: VERSION=${GITHUB_REF#refs/tags/} echo "version=${VERSION}" >> $GITHUB_OUTPUT - - name: Build and push + - name: Build and push (base) uses: docker/build-push-action@v7 with: context: . @@ -42,6 +42,53 @@ jobs: ${{ vars.DOCKERHUB_USERNAME }}/opencode-devbox:${{ steps.version.outputs.version }} ${{ vars.DOCKERHUB_USERNAME }}/opencode-devbox:latest + build-omos: + runs-on: ubuntu-latest + container: + image: catthehacker/ubuntu:act-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 + + - name: Login to Docker Hub + uses: docker/login-action@v4 + with: + username: ${{ vars.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Extract version from tag + id: version + run: | + VERSION=${GITHUB_REF#refs/tags/} + echo "version=${VERSION}" >> $GITHUB_OUTPUT + + - name: Build and push (omos) + uses: docker/build-push-action@v7 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + build-args: | + INSTALL_OMOS=true + tags: | + ${{ vars.DOCKERHUB_USERNAME }}/opencode-devbox:${{ steps.version.outputs.version }}-omos + ${{ vars.DOCKERHUB_USERNAME }}/opencode-devbox:latest-omos + + update-description: + runs-on: ubuntu-latest + needs: [build-base, build-omos] + container: + image: catthehacker/ubuntu:act-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Update Docker Hub description run: | TOKEN=$(curl -s -X POST https://hub.docker.com/v2/users/login/ \ @@ -50,7 +97,7 @@ jobs: | jq -r .token) jq -n \ --arg full "$(cat DOCKER_HUB.md)" \ - --arg short "Portable AI dev environment for opencode. Debian-based with git, Node.js, AWS CLI, and SSH support." \ + --arg short "Portable AI dev environment for opencode. Debian-based with git, Node.js, AWS CLI, and SSH support. Available in base and omos (multi-agent) variants." \ '{"full_description": $full, "description": $short}' | \ curl -s -o /dev/null -w "%{http_code}" -X PATCH \ "https://hub.docker.com/v2/repositories/${{ vars.DOCKERHUB_USERNAME }}/opencode-devbox/" \