diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 18876e9..5426865 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,7 +23,7 @@ Build Docker Images: - macos-x86_64 - macos-aarch64 - dind - - windows + - flatpak-appimage script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com - make docker-$DISTRO @@ -45,8 +45,7 @@ Build: - fedora36 - macos-x86_64 - macos-aarch64 - # Currently broken :( - # - windows + - flatpak-appimage image: registry.gitlab.com/librewolf-community/browser/bsys5/dind tags: - autoscale diff --git a/Makefile b/Makefile index d3ff0b4..7b6c9b7 100644 --- a/Makefile +++ b/Makefile @@ -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 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]" @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]" @echo " [tarball]" @echo "" @@ -74,6 +74,8 @@ build : ${MAKE} clean ${MAKE} windows ${MAKE} clean + ${MAKE} flatpak-appimage + ${MAKE} clean push : docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian11 @@ -220,6 +222,12 @@ docker-windows : windows : ${MAKE} -f assets/windows.mk build +## flatpack-appimage +docker-flatpak-appimage : + ${MAKE} -f assets/flatpak-appimage.mk docker +flatpak-appimage : + ${MAKE} -f assets/flatpak-appimage.mk build + # # Docker in Docker (for GitLab CI) # diff --git a/assets/flatpak-appimage.Dockerfile b/assets/flatpak-appimage.Dockerfile new file mode 100644 index 0000000..6e1342b --- /dev/null +++ b/assets/flatpak-appimage.Dockerfile @@ -0,0 +1,8 @@ +FROM ubuntu:latest +RUN apt-get -y update && apt-get -y upgrade && apt-get -y install bash git wget build-essential zip +RUN dpkg --add-architecture i386 && apt-get -y update && apt-get -y install wine32 + +RUN tmpdir=$(mktemp -d) && cd $tmpdir && git clone https://gitlab.com/librewolf-community/browser/windows.git && cd windows/linux && make setup-debian && make fetch && make bootstrap && cd /root && rm -rf $tmpdir + +WORKDIR /work +VOLUME ["/work"] diff --git a/assets/flatpak-appimage.mk b/assets/flatpak-appimage.mk new file mode 100644 index 0000000..9626ac8 --- /dev/null +++ b/assets/flatpak-appimage.mk @@ -0,0 +1,42 @@ +# windows.mk - this one is quite a bit different from the others, +# but we can fix that later. + +.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-exe=librewolf-$(full_version).en-US.win64-setup.exe +outfile-zip=librewolf-$(full_version).en-US.win64-portable.zip +outfiles=$(outfile-exe) $(outfile-zip) + +distro=windows +image=registry.gitlab.com/librewolf-community/browser/bsys5/$(distro):latest + +docker : + + docker build -t $(image) - < assets/windows.Dockerfile + +build : + + pwd + rm -rf windows + git clone https://gitlab.com/librewolf-community/browser/windows.git + + ( cd windows/linux && pwd && ${MAKE} fetch ) + +ifeq ($(use_docker),false) + ( cd windows/linux && ${MAKE} ) +else + docker run --rm -v $(shell pwd)/windows/linux:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "${MAKE} all" +endif + + cp -v windows/linux/$(outfiles) . + + sha256sum $(outfile-exe) > $(outfile-exe).sha256sum + cat $(outfile-exe).sha256sum + sha256sum $(outfile-zip) > $(outfile-zip).sha256sum + cat $(outfile-zip).sha256sum +