Merge branch 'build_docker_on_gitlab' into 'master'

Build Docker Images on GitLab

See merge request librewolf-community/browser/bsys5!8
This commit is contained in:
maltejur 2022-05-10 20:25:02 +00:00
commit 310ec4eb21
5 changed files with 65 additions and 27 deletions

View File

@ -1,8 +1,46 @@
stages:
- images
- build
- release
- deploy
Build Docker Images:
stage: images
when: manual
# only:
# - master
image: ubuntu
services:
- docker:dind
parallel:
matrix:
- DISTRO:
- debian11
- ubuntu20
- ubuntu21
- ubuntu22
- mint20
- fedora34
- fedora35
- fedora36
- macos-x86_64
- macos-aarch64
variables:
DOCKER_HOST: tcp://docker:2375
# Install docker and make
before_script:
- apt-get update
- apt-get install -y ca-certificates curl gnupg lsb-release
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
- apt-get update
- apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin make
# Build container
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com
- make docker-$DISTRO
- docker push registry.gitlab.com/librewolf-community/browser/bsys5/$DISTRO:latest
Build:
stage: build
when: manual
@ -23,7 +61,7 @@ Build:
variables:
SOURCE_URL: $SOURCE_URL
use_docker: "false"
image: librewolf/bsys5-image-$DISTRO
image: registry.gitlab.com/librewolf-community/browser/bsys5/$DISTRO
tags:
- amd64
# Build on dedicated runner

View File

@ -76,28 +76,28 @@ build :
${MAKE} clean
push :
docker push librewolf/bsys5-image-debian11
docker push librewolf/bsys5-image-mint20
docker push librewolf/bsys5-image-ubuntu20
docker push librewolf/bsys5-image-ubuntu21
docker push librewolf/bsys5-image-ubuntu22
docker push librewolf/bsys5-image-fedora34
docker push librewolf/bsys5-image-fedora35
docker push librewolf/bsys5-image-fedora36
docker push librewolf/bsys5-image-macos-x86_64
docker push librewolf/bsys5-image-macos-aarch64
docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian11
docker push registry.gitlab.com/librewolf-community/browser/bsys5/mint20
docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu20
docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu21
docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu22
docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora34
docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora35
docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora36
docker push registry.gitlab.com/librewolf-community/browser/bsys5/macos-x86_64
docker push registry.gitlab.com/librewolf-community/browser/bsys5/macos-aarch64
rmi :
docker rmi librewolf/bsys5-image-debian11
docker rmi librewolf/bsys5-image-mint20
docker rmi librewolf/bsys5-image-ubuntu20
docker rmi librewolf/bsys5-image-ubuntu21
docker rmi librewolf/bsys5-image-ubuntu22
docker rmi librewolf/bsys5-image-fedora34
docker rmi librewolf/bsys5-image-fedora35
docker rmi librewolf/bsys5-image-fedora36
docker rmi librewolf/bsys5-image-macos-x86_64
docker rmi librewolf/bsys5-image-macos-aarch64
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/debian11
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/mint20
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu20
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu21
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu22
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora34
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora35
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora36
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/macos-x86_64
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/macos-aarch64
update :
@wget -q -O version "https://gitlab.com/librewolf-community/browser/source/-/raw/main/version"

View File

@ -23,7 +23,7 @@ librewolf-$(full_version).en-US.$(distro).x86_64.deb : $(infile)
ifeq ($(use_docker),false)
(cd work && bash linux.build-deb.sh $(full_version))
else
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-$(distro) sh -c "bash linux.build-deb.sh $(full_version)"
docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "bash linux.build-deb.sh $(full_version)"
endif
cp -v work/librewolf.deb $@
sha256sum $@ > $@.sha256sum
@ -55,7 +55,7 @@ ifeq ($(use_docker),false)
(cp -r work / && cd work && bash linux.build-rpm.sh $(fc))
cp -v /work/$@ $@
else
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-$(distro) sh -c "bash linux.build-rpm.sh $(fc)"
docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "bash linux.build-rpm.sh $(fc)"
cp -v work/$@ $@
endif
sha256sum $@ > $@.sha256sum

View File

@ -12,7 +12,7 @@ full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "
outfile=librewolf-$(full_version).en-US.$(distro)-x86_64.tar.bz2
docker :
docker build --build-arg "distro=$(distro_image)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t librewolf/bsys5-image-$(distro) - < assets/linux.Dockerfile
docker build --build-arg "distro=$(distro_image)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t registry.gitlab.com/librewolf-community/browser/bsys5/$(distro):latest - < assets/linux.Dockerfile
build : $(outfile) $(outfile).sha256sum
@ -21,7 +21,7 @@ $(outfile) :
ifeq ($(use_docker),false)
(cd work/librewolf-$(version)-$(source_release) && ./mach build && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales)
else
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-$(distro) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales"
docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales"
endif
cp -v work/librewolf-$(version)-$(source_release)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 $(outfile)

View File

@ -11,7 +11,7 @@ full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "
outfile=librewolf-$(full_version).en-US.mac.$(arch).dmg
docker :
docker build --build-arg "arch=$(arch)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t librewolf/bsys5-image-macos-$(arch) - < assets/macos.Dockerfile
docker build --build-arg "arch=$(arch)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t registry.gitlab.com/librewolf-community/browser/bsys5/macos-$(arch) - < assets/macos.Dockerfile
build : $(outfile) $(outfile).sha256sum
@ -21,7 +21,7 @@ $(outfile) :
ifeq ($(use_docker),false)
(cd work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package)
else
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-macos-$(arch) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package"
docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/macos-$(arch) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package"
endif
cp -v work/librewolf-$(version)-$(source_release)/obj-$(arch)-apple-darwin/dist/librewolf-$(version)-$(source_release).en-US.mac.dmg $(outfile)