From 56544f1f1f6b038d888f550904bf6b2762fd6fc0 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 4 Apr 2024 11:18:23 +0200 Subject: [PATCH] Add GitHub CI action --- .github/workflows/build_container.yaml | 65 ++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/build_container.yaml diff --git a/.github/workflows/build_container.yaml b/.github/workflows/build_container.yaml new file mode 100644 index 0000000..55f4e00 --- /dev/null +++ b/.github/workflows/build_container.yaml @@ -0,0 +1,65 @@ +# Copyright © SixtyFPS GmbH +# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.1 OR LicenseRef-Slint-commercial + +name: Rust Demo built for Torizon + +on: + workflow_dispatch: + inputs: + push: + type: boolean + description: "Push the built images" + workflow_call: + inputs: + push: + type: boolean + description: "Push the built images" + +jobs: + build_containers: + runs-on: ubuntu-22.04 + strategy: + matrix: + include: +# - target: armhf +# image_arch: linux/arm/v7 +# rust_toolchain_arch: armv7-unknown-linux-gnueabihf +# base_image_suffix: "" +# - target: arm64 +# image_arch: linux/arm64 +# rust_toolchain_arch: aarch64-unknown-linux-gnu +# base_image_suffix: "" +# - target: armhf +# image_arch: linux/arm/v7 +# rust_toolchain_arch: armv7-unknown-linux-gnueabihf +# base_image_suffix: "-vivante" + - target: arm64 + image_arch: linux/arm64 + rust_toolchain_arch: aarch64-unknown-linux-gnu + base_image_suffix: "-vivante" + + steps: + - uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.CR_PAT }} + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + push: ${{ github.event.inputs.push || inputs.push }} + tags: ghcr.io/slint-ui/slint/torizon-robo-demo-${{matrix.target}}${{matrix.base_image_suffix}}:latest + platforms: ${{matrix.image_arch}} + build-args: | + TOOLCHAIN_ARCH=${{matrix.target}} + IMAGE_ARCH=${{matrix.image_arch}} + RUST_TOOLCHAIN_ARCH=${{matrix.rust_toolchain_arch}} + BASE_NAME=wayland-base${{matrix.base_image_suffix}} + WEATHER_API_KEY=${{secrets.WEATHER_API_KEY}}