Multi-arch builder image & builds #27

Merged
Jef Roosens merged 10 commits from repo-add into dev 2022-01-14 20:47:05 +01:00
6 changed files with 51 additions and 12 deletions

View File

@ -1,6 +1,7 @@
# These checks already get performed on the feature branches # These checks already get performed on the feature branches
branches: branches:
exclude: [ main, dev ] exclude: [ main, dev ]
platform: linux/amd64
pipeline: pipeline:
vieter: vieter:
@ -22,3 +23,6 @@ pipeline:
group: 'build' group: 'build'
commands: commands:
- make prod - make prod
# Make sure the binary is actually static
- readelf -d pvieter
- '[ "$(readelf -d pvieter | grep NEEDED | wc -l)" = 0 ]'

View File

@ -0,0 +1,28 @@
# These checks already get performed on the feature branches
branches:
exclude: [ main, dev ]
platform: linux/arm64
pipeline:
vieter:
image: 'chewingbever/vlang:latest'
group: 'build'
commands:
- make vieter
debug:
image: 'chewingbever/vlang:latest'
group: 'build'
commands:
- make debug
prod:
image: 'chewingbever/vlang:latest'
environment:
- LDFLAGS=-lz -lbz2 -llzma -lexpat -lzstd -llz4 -static
group: 'build'
commands:
- make prod
# Make sure the binary is actually static
- readelf -d pvieter
- '[ "$(readelf -d pvieter | grep NEEDED | wc -l)" = 0 ]'

View File

@ -1,13 +1,15 @@
branches: dev branches: dev
platform: linux/amd64
pipeline: pipeline:
publish: publish:
image: plugins/docker image: woodpeckerci/plugin-docker-buildx
secrets: [ docker_username, docker_password ] secrets: [ docker_username, docker_password ]
settings: settings:
repo: chewingbever/vlang repo: chewingbever/vlang
tag: latest tag: latest
dockerfile: Dockerfile.builder dockerfile: Dockerfile.builder
platforms: [ linux/arm/v7, linux/arm64/v8, linux/amd64 ]
when: when:
event: push event: push
path: Dockerfile.builder path: Dockerfile.builder

View File

@ -1,6 +1,7 @@
# These checks already get performed on the feature branches # These checks already get performed on the feature branches
branches: branches:
exclude: [ main, dev ] exclude: [ main, dev ]
platform: linux/amd64
pipeline: pipeline:
lint: lint:

View File

@ -1,4 +1,5 @@
branches: [main, dev] branches: [main, dev]
platform: linux/amd64
pipeline: pipeline:
dev: dev:
@ -23,3 +24,6 @@ pipeline:
when: when:
event: tag event: tag
branch: main branch: main
depends_on:
- builder

View File

@ -8,17 +8,17 @@ ENV VVV /opt/vlang
ENV PATH /opt/vlang:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV PATH /opt/vlang:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV VFLAGS -cc gcc ENV VFLAGS -cc gcc
RUN mkdir -p /opt/vlang && ln -s /opt/vlang/v /usr/bin/v RUN mkdir -p /opt/vlang && \
ln -s /opt/vlang/v /usr/bin/v && \
RUN apk --no-cache add \ apk --no-cache add \
git make upx gcc bash \ git make gcc \
musl-dev \ musl-dev \
openssl-libs-static openssl-dev \ openssl-libs-static openssl-dev \
zlib-static bzip2-static xz-dev expat-static zstd-static lz4-static \ zlib-static bzip2-static xz-dev expat-static zstd-static lz4-static \
sqlite-static sqlite-dev \ sqlite-static sqlite-dev \
libx11-dev glfw-dev freetype-dev \ libx11-dev glfw-dev freetype-dev \
libarchive-static libarchive-dev \ libarchive-static libarchive-dev \
diffutils diffutils
COPY . /vlang-local COPY . /vlang-local