Compare commits

...

12 commits

Author SHA1 Message Date
su-ex
a1458b136b
New release v1.11.36-sc.3 2024-02-26 10:57:25 +01:00
su-ex
4b0435ef3b
Fix fedora container build
See: https://stackoverflow.com/a/74330717/4515820
2024-02-26 10:45:34 +01:00
su-ex
48fb86093a
New release v1.11.36-sc.2 2024-02-25 21:01:22 +01:00
su-ex
4dcd73f083
Changed sqlcipher variable name 2024-02-25 20:56:48 +01:00
su-ex
9f8bad4ea5
New release v1.11.36-sc.1 2024-02-25 20:36:56 +01:00
su-ex
ab496f7977
Fully containerized release builds 2024-02-25 20:36:48 +01:00
su-ex
9241a6d044
Use fully qualified name here as well 2024-02-24 22:29:48 +01:00
su-ex
446b55792f
This got lost while rebasing 2024-02-24 22:28:53 +01:00
su-ex
1338cf0604
Fix containerbuilds, also always use host directory as project directory 2024-02-24 21:46:25 +01:00
SpiritCroc
90912a5d07 Fix debian container compile 2024-02-24 20:00:45 +01:00
su-ex
e9faf9ab15
Bump node version from 16 to 18 2024-02-24 19:43:25 +01:00
su-ex
aae0f2868e
New test release v1.11.36-sc.0.test.2 2024-02-24 19:37:16 +01:00
7 changed files with 49 additions and 25 deletions

View file

@ -1,5 +1,5 @@
ARG NODE_VERSION ARG NODE_VERSION
FROM node:${NODE_VERSION} FROM docker.io/node:${NODE_VERSION}-buster
RUN apt-get -qq update && apt-get -qq install --no-install-recommends -y \ RUN apt-get -qq update && apt-get -qq install --no-install-recommends -y \
curl \ curl \
@ -23,8 +23,4 @@ ENV RUSTUP_HOME=/usr/local/rustup \
PATH=/usr/local/cargo/bin:$PATH PATH=/usr/local/cargo/bin:$PATH
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal
COPY . /project WORKDIR /project
WORKDIR /project
# There might be remnants of the host which break the build
RUN make fixup

View file

@ -1,6 +1,6 @@
FROM fedora:latest FROM docker.io/fedora:38
RUN dnf install -y openssl openssl-devel rust cargo llvm libsecret libsecret-devel g++ ruby-devel gcc make rpm-build libffi-devel tcl libxcrypt-compat RUN dnf install -y openssl openssl-devel cargo llvm libsecret libsecret-devel sqlcipher sqlcipher-devel g++ ruby-devel gcc make rpm-build libffi-devel tcl libxcrypt-compat pkgconf perl
# node setup # node setup
ARG NODE_VERSION ARG NODE_VERSION
@ -13,8 +13,9 @@ RUN npm install -g yarn
RUN npm install -g node-gyp RUN npm install -g node-gyp
RUN gem install --no-user-install --no-document fpm RUN gem install --no-user-install --no-document fpm
COPY . /project ENV RUSTUP_HOME=/usr/local/rustup \
WORKDIR /project CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal
# There might be remnants of the host which break the build WORKDIR /project
RUN make fixup

13
Containerfile.windows Normal file
View file

@ -0,0 +1,13 @@
ARG CONTAINER_IMAGE_DEBIAN
FROM ${CONTAINER_IMAGE_DEBIAN}:latest
RUN dpkg --add-architecture i386 && apt-get update && apt-get install --no-install-recommends -y \
wine \
wine32 \
wine64 \
libwine \
libwine:i386 \
fonts-wine \
zip
WORKDIR /project

View file

@ -1,8 +1,8 @@
.PHONY: all setup regenerate-i18n web desktop-common linux debian rpm pacman local-pkgbuild local-pkgbuild-install windows windows-portable .PHONY: all setup regenerate-i18n web desktop-common linux debian rpm pacman local-pkgbuild local-pkgbuild-install windows windows-portable
.PHONY: web-release debian-release rpm-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release .PHONY: web-release debian-release rpm-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release
.PHONY: macos-common macos macos-mas macos-release macos-mas-release icns .PHONY: macos-common macos macos-mas macos-release macos-mas-release icns
.PHONY: container-build-debian container-build-fedora .PHONY: container-build-debian container-build-fedora container-build-windows
.PHONY: container-web-release container-debian-release container-rpm-release container-appimage-release .PHONY: container-web-release container-debian-release container-rpm-release container-appimage-release container-windows-release container-release container-local-pkgbuild
.PHONY: clean undo_setup fixup .PHONY: clean undo_setup fixup
.PHONY: fix_yarn_cache .PHONY: fix_yarn_cache
@ -12,7 +12,7 @@ all: web
YARN ?= yarnpkg YARN ?= yarnpkg
CONTAINER_ENGINE ?= podman CONTAINER_ENGINE ?= podman
NODE_VERSION ?= 16 NODE_VERSION ?= 18
VERSION := $(shell grep version element-desktop/package.json | sed 's|.*: \"\(.*\)\",|\1|') VERSION := $(shell grep version element-desktop/package.json | sed 's|.*: \"\(.*\)\",|\1|')
WEB_APP_NAME := $(shell grep '"name"' element-web/package.json | head -n 1 | sed 's|.*: \"\(.*\)\",|\1|') WEB_APP_NAME := $(shell grep '"name"' element-web/package.json | head -n 1 | sed 's|.*: \"\(.*\)\",|\1|')
@ -39,6 +39,7 @@ OUT_MACOS_MAS := $(DESKTOP_OUT)/mas-universal/$(PRODUCT_NAME).app
CONTAINER_IMAGE_DEBIAN := schildichat-desktop-containerbuild-debian CONTAINER_IMAGE_DEBIAN := schildichat-desktop-containerbuild-debian
CONTAINER_IMAGE_FEDORA := schildichat-desktop-containerbuild-fedora CONTAINER_IMAGE_FEDORA := schildichat-desktop-containerbuild-fedora
CONTAINER_IMAGE_WINDOWS := schildichat-desktop-containerbuild-windows
RELEASE_DIR := release RELEASE_DIR := release
CURRENT_RELEASE_DIR := $(RELEASE_DIR)/$(VERSION) CURRENT_RELEASE_DIR := $(RELEASE_DIR)/$(VERSION)
@ -76,7 +77,7 @@ web: setup
desktop-common: web desktop-common: web
$(YARN) --cwd element-desktop run fetch --cfgdir '' $(YARN) --cwd element-desktop run fetch --cfgdir ''
SQLCIPHER_STATIC=1 $(YARN) --cwd element-desktop run build:native SQLCIPHER_BUNDLED=1 $(YARN) --cwd element-desktop run build:native
macos-common: web icns macos-common: web icns
$(YARN) --cwd element-desktop run fetch --cfgdir '' $(YARN) --cwd element-desktop run fetch --cfgdir ''
@ -162,22 +163,35 @@ macos-mas-release: macos-mas
cp $(OUT_MACOS_MAS) $(CURRENT_RELEASE_DIR) cp $(OUT_MACOS_MAS) $(CURRENT_RELEASE_DIR)
container-build-debian: container-build-debian:
$(CONTAINER_ENGINE) build -t $(CONTAINER_IMAGE_DEBIAN) -f Containerfile.debian --build-arg NODE_VERSION=$(NODE_VERSION) . $(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_DEBIAN) -f Containerfile.debian --build-arg NODE_VERSION=$(NODE_VERSION) .
container-build-fedora: container-build-fedora:
$(CONTAINER_ENGINE) build -t $(CONTAINER_IMAGE_FEDORA) -f Containerfile.fedora --build-arg NODE_VERSION=$(NODE_VERSION) . $(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_FEDORA) -f Containerfile.fedora --build-arg NODE_VERSION=$(NODE_VERSION) .
container-build-windows: container-build-debian
$(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_WINDOWS) -f Containerfile.windows --build-arg CONTAINER_IMAGE_DEBIAN=$(CONTAINER_IMAGE_DEBIAN) .
container-web-release: container-build-debian container-web-release: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make web-release $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make web-release
container-debian-release: container-build-debian container-debian-release: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make debian-release $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make debian-release
container-rpm-release: container-build-fedora container-rpm-release: container-build-fedora
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_FEDORA):latest make rpm-release $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_FEDORA):latest make rpm-release
container-appimage-release: container-build-debian container-appimage-release: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD)/release:/project/release --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make appimage-release $(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make appimage-release
container-windows-release: container-build-windows
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_WINDOWS):latest make windows-release
container-release: container-build-windows container-build-fedora
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_WINDOWS):latest make web-release debian-release appimage-release windows-setup-release windows-portable-release
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_FEDORA):latest make rpm-release
container-local-pkgbuild: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make local-pkgbuild
bom.lock: element-desktop/yarn.lock element-web/yarn.lock matrix-js-sdk/yarn.lock matrix-react-sdk/yarn.lock bom.lock: element-desktop/yarn.lock element-web/yarn.lock matrix-js-sdk/yarn.lock matrix-react-sdk/yarn.lock
./build-bom.sh ./build-bom.sh

@ -1 +1 @@
Subproject commit 738de7784bddb2285d2f015102e8e2e15877decb Subproject commit fb2931eb808d99995a4cd5ef168e8d4697f39e3f

@ -1 +1 @@
Subproject commit ecf1586a0f83a9fbce1c95290f1520a64848d894 Subproject commit 904c6378682d314fe91bf536b6207c6d5e320459

@ -1 +1 @@
Subproject commit 363844517bc5e55327c459a0d0f3a3280a975d10 Subproject commit 5a1c34750acf0c8da2a8ba25b6f79e9ac115230e