diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000000..7ff2a4031b --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,17 @@ +# This is the branch that contains my patches, it's basically the master +platform: linux/amd64 +branch: master + +pipeline: + publish: + image: woodpeckerci/plugin-docker-buildx + secrets: [ docker_username, docker_password ] + settings: + repo: chewingbever/vlang + tag: latest + dockerfile: Dockerfile.builder + platforms: [ linux/arm/v7, linux/arm64/v8, linux/amd64 ] + # The build can run every time, because we should only push when there's + # actual changes + when: + event: push diff --git a/Dockerfile.builder b/Dockerfile.builder new file mode 100644 index 0000000000..52e1ab33d9 --- /dev/null +++ b/Dockerfile.builder @@ -0,0 +1,33 @@ +FROM alpine:3.12 + +ARG TARGETPLATFORM + +WORKDIR /opt/vlang + +ENV VVV /opt/vlang +ENV PATH /opt/vlang:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV VFLAGS -cc gcc +ENV V_PATH /opt/vlang/v + +RUN ln -s /opt/vlang/v /usr/bin/v && \ + apk --no-cache add \ + git make gcc curl openssl \ + musl-dev \ + openssl-libs-static openssl-dev \ + zlib-static bzip2-static xz-dev expat-static zstd-static lz4-static \ + sqlite-static sqlite-dev \ + libx11-dev glfw-dev freetype-dev \ + libarchive-static libarchive-dev \ + gc-dev \ + diffutils + +RUN git clone -b patches https://git.rustybever.be/Chewing_Bever/vieter-v /opt/vlang && \ + make && \ + v -version + +RUN if [ "$TARGETPLATFORM" = 'linux/amd64' ]; then \ + wget -O /usr/local/bin/mc https://dl.min.io/client/mc/release/linux-amd64/mc && \ + chmod +x /usr/local/bin/mc ; \ +fi + +CMD ["v"]