Compare commits

...
Sign in to create a new pull request.

6 commits

Author SHA1 Message Date
Bert van der Weerd
1d01d79be0
fix merge conflicts 2023-02-16 13:22:30 +01:00
Bert van der Weerd
ed29e533f0
Thu Feb 16 01:12:20 PM CET 2023 2023-02-16 13:12:20 +01:00
Bert van der Weerd
d902366629
Thu Feb 16 01:11:29 PM CET 2023 2023-02-16 13:11:29 +01:00
Bert van der Weerd
a0fa718606
Thu Feb 16 12:54:21 PM CET 2023 2023-02-16 12:54:21 +01:00
Bert van der Weerd
6632a98b7c
Thu Feb 16 12:51:23 PM CET 2023 2023-02-16 12:51:23 +01:00
Bert van der Weerd
4c62e66792
Thu Feb 16 12:36:37 PM CET 2023 2023-02-16 12:36:37 +01:00
4 changed files with 105 additions and 4 deletions

View file

@ -3,7 +3,6 @@ stages:
- build
- release
# Notes; we want short labes so we can see what is what, and
# allow image builds on all branches because don't wan to
# deal with them on the master branch
@ -25,6 +24,8 @@ Images:
- macos-x86_64
- macos-aarch64
- dind
- flatpak-appimage-x86_64
- flatpak-appimage-aarch64
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com
- make docker-$DISTRO
@ -46,6 +47,8 @@ Build:
- fedora36
- macos-x86_64
- macos-aarch64
- flatpak-appimage-x86_64
- flatpak-appimage-aarch64
image: registry.gitlab.com/librewolf-community/browser/bsys5/dind
tags:
- autoscale

View file

@ -1,4 +1,4 @@
.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-mint21 mint21 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora37 fedora37 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind windows
.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-mint21 mint21 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora37 fedora37 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind windows flatpak-appimage flatpak-appimage-aarch64
version:=$(shell cat version)
release:=$(shell cat release)
@ -19,7 +19,7 @@ help :
@echo " [docker-macos-x86_64], [docker-macos-aarch64]"
@echo " [docker-tumbleweed]"
@echo " [docker-dind]"
@echo " [docker-windows]"
@echo " [docker-windows] [docker-flatpak-appimage-x86_64] [docker-flatpak-appimage-aarch64"
@echo ""
@echo "build targets:"
@echo " [debian11], [mint20], [mint21], [ubuntu20], [ubuntu21]"
@ -27,7 +27,7 @@ help :
@echo " [fedora37], [fedora36]"
@echo " [macos-x64_64], [macos-aarch64]"
@echo " [tumbleweed]"
@echo " [windows]"
@echo " [windows] [flatpak-appimage-x86_64] [flatpak-appimage-aarch64]"
@echo " [tarball]"
@echo ""
@ -74,6 +74,10 @@ build :
${MAKE} clean
${MAKE} windows
${MAKE} clean
${MAKE} flatpak-appimage
${MAKE} clean
${MAKE} flatpak-appimage-aarch64
${MAKE} clean
push :
docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian11
@ -220,6 +224,16 @@ docker-windows :
windows :
${MAKE} -f assets/windows.mk build
## flatpack-appimage
docker-flatpak-appimage-x86_64 :
${MAKE} -f assets/flatpak-appimage.mk arch=x86_64 docker
flatpak-appimage-x86_64 :
${MAKE} -f assets/flatpak-appimage.mk arch=x86_64 build
docker-flatpak-appimage-aarch64 :
${MAKE} -f assets/flatpak-appimage.mk arch=aarch64 docker
flatpak-appimage-aarch64 :
${MAKE} -f assets/flatpak-appimage.mk arch=aarch64 build
#
# Docker in Docker (for GitLab CI)
#

View file

@ -0,0 +1,54 @@
# $(arch)
FROM debian:bullseye
ARG arch=error
ARG version=error
ARG source_release=error
# we use this wasi version
ENV wasi_fullversion 14.0
ENV wasi_mainversion 14
# dependencies needed to run ./mach bootstrap
RUN apt-get -y update && apt-get -y upgrade && apt-get -y install mercurial python3 python3-dev python3-pip wget build-essential libpython3-dev m4 unzip uuid zip libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libdrm-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb rsync
# setup osx sdk
RUN mkdir -p /osx-cross/MacOSX-SDKs &&\
cd /osx-cross/MacOSX-SDKs &&\
wget -q "https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.3.sdk.tar.xz" &&\
tar xf MacOSX11.3.sdk.tar.xz &&\
rm -f MacOSX11.3.sdk.tar.xz
# run the bootstrap
RUN wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$version-$source_release/librewolf-$version-$source_release.source.tar.gz
RUN tar xf librewolf-$version-$source_release.source.tar.gz
WORKDIR librewolf-$version-$source_release
RUN echo ac_add_options --target=$arch-apple-darwin > mozconfig
RUN echo ac_add_options --enable-bootstrap >> mozconfig
RUN echo ac_add_options --with-macos-sdk=/osx-cross/MacOSX-SDKs/MacOSX11.3.sdk >> mozconfig
RUN MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser
RUN ./mach artifact toolchain --from-build linux64-libdmg
RUN ./mach artifact toolchain --from-build linux64-cctools-port
RUN ./mach artifact toolchain --from-build linux64-hfsplus
RUN ./mach artifact toolchain --from-build linux64-binutils
RUN ./mach artifact toolchain --from-build sysroot-wasm32-wasi
## RUN ./mach artifact toolchain --from-build linux64-clang-macosx-cross
RUN /root/.cargo/bin/cargo install cbindgen
RUN /root/.cargo/bin/rustup target add $arch-apple-darwin
RUN cp -r binutils /root/.mozbuild
RUN cp -r cctools /root/.mozbuild
RUN cp -r sysroot-wasm32-wasi /root/.mozbuild
## RUN cp -r clang /root/.mozbuild
RUN cp -r dmg /root/.mozbuild
RUN cp -r hfsplus-tools /root/.mozbuild
RUN pip install testresources pycairo
WORKDIR ..
RUN rm -rf librewolf-$version-$source_release librewolf-$version-$source_release.source.tar.gz
# our work happens here, on the host filesystem.
WORKDIR /work
VOLUME ["/work"]

View file

@ -0,0 +1,30 @@
# $(arch)
# $(use_docker)
.PHONY : docker build
version:=$(shell cat version)
release:=$(shell cat release)
source_release:=$(shell cat source_release)
full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)")
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 registry.gitlab.com/librewolf-community/browser/bsys5/macos-$(arch) - < assets/macos.Dockerfile
build : $(outfile) $(outfile).sha256sum
$(outfile) :
${MAKE} work
sed "s/_ARCH_/$(arch)/g" < assets/macos.mozconfig > work/librewolf-$(version)-$(source_release)/mozconfig
ifeq ($(use_docker),false)
(cd work/librewolf-$(version)-$(source_release) && ./mach build && echo 'Packaging... (output hidden)' && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null)
else
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 && echo 'Packaging... (output hidden)' && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null"
endif
cp -v work/librewolf-$(version)-$(source_release)/obj-$(arch)-apple-darwin/dist/librewolf-$(version)-$(source_release).en-US.mac.dmg $(outfile)
$(outfile).sha256sum : $(outfile)
sha256sum $(outfile) > $(outfile).sha256sum
cat $(outfile).sha256sum