mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-09 19:27:44 +02:00
@@ -0,0 +1,31 @@
|
||||
name: Build and Push
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Log to registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ vars.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
|
||||
|
||||
- run: echo VERSION=$(grep '^version =' server/Cargo.toml | cut -d '"' -f 2) >> $GITHUB_ENV
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Build and Push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
file: server/Dockerfile
|
||||
push: true
|
||||
tags: "${{ vars.DOCKER_USER }}/service_hulylake:latest"
|
||||
platforms: linux/amd64,linux/arm64
|
||||
@@ -0,0 +1,2 @@
|
||||
image:
|
||||
cd server && docker buildx build --tag=hardcoreeng/hulylake:latest --platform=linux/amd64 --load .
|
||||
@@ -0,0 +1,32 @@
|
||||
FROM --platform=$BUILDPLATFORM rust:1.88 AS builder
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
WORKDIR /tmp/build
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN \
|
||||
if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
|
||||
cargo build --release --target=x86_64-unknown-linux-gnu ; \
|
||||
elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
|
||||
apt-get update && apt-get install -y \
|
||||
gcc-aarch64-linux-gnu \
|
||||
g++-aarch64-linux-gnu \
|
||||
libc6-dev-arm64-cross \
|
||||
&& rm -rf /var/lib/apt/lists/* ; \
|
||||
rustup target add aarch64-unknown-linux-gnu ; \
|
||||
export CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc ; \
|
||||
export CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++ ; \
|
||||
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc ; \
|
||||
cargo build --release --target=aarch64-unknown-linux-gnu ; \
|
||||
else \
|
||||
echo "Unexpected target platform: $TARGETPLATFORM" && exit 1 ; \
|
||||
fi
|
||||
|
||||
FROM debian:12-slim
|
||||
|
||||
ARG TARGET
|
||||
COPY --from=builder /tmp/build/target/*/release/hulylake /usr/local/bin/hulylake
|
||||
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/hulykvs"]
|
||||
Reference in New Issue
Block a user