diff --git a/.github/workflows/feat.yml b/.github/workflows/feat.yml new file mode 100644 index 0000000..a6a7423 --- /dev/null +++ b/.github/workflows/feat.yml @@ -0,0 +1,32 @@ +name: Docker Image CI + +on: + push: + branches: [ "*" ] + +jobs: + + build: + + if: "startsWith(github.event.head_commit.message, 'chore: test build for feat')" + runs-on: ubuntu-latest + + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ vars.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: true + tags: ${{ vars.DOCKERHUB_USERNAME }}/formicaio:armv7 diff --git a/Dockerfile b/Dockerfile index 384b269..aa53077 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,8 +15,13 @@ FROM rust:1 AS builder # Install cargo-binstall, which makes it easier to install other # cargo extensions like cargo-leptos -# Install cargo-binstall for Linux amd64/arm64 -RUN export TARGET="$(uname -m)" && wget -O cargo-binstall-linux-musl.tgz https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-$TARGET-unknown-linux-musl.tgz +# Install cargo-binstall for Linux amd64/arm64/armv7 +RUN export TARGET="$(arch)" && if [ "$TARGET" = "armv7l" ]; then \ + wget -O cargo-binstall-linux-musl.tgz https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-armv7-unknown-linux-musleabihf.tgz; \ +else \ + wget -O cargo-binstall-linux-musl.tgz https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-$TARGET-unknown-linux-musl.tgz; \ +fi + RUN tar -xvf cargo-binstall-linux-musl.tgz RUN cp cargo-binstall /usr/local/cargo/bin