Make eartly local only build

This commit is contained in:
Vladimir Stoilov 2024-12-09 18:11:00 +02:00
parent 5ae261f062
commit 5713d7d3c6
No known key found for this signature in database
GPG key ID: 2F190B67A43A81AF
2 changed files with 25 additions and 21 deletions

View file

@ -12,11 +12,11 @@ desktop/tauri/src-tauri/target
# Copy from .gitignore:
# Compiled binaries
*.exe
dist/
# *.exe
# dist/
# Dist dir
dist
# dist
# Custom dev deops
go.mod.*

View file

@ -512,6 +512,9 @@ tauri-lint:
release-prep:
FROM +rust-base
WORKDIR /app
COPY ./dist ./dist
# Linux specific
COPY (+tauri-build/output/portmaster --target="x86_64-unknown-linux-gnu") ./output/binary/linux_amd64/portmaster
COPY (+go-build/output/portmaster-core --GOARCH=amd64 --GOOS=linux --CMDS=portmaster-core) ./output/binary/linux_amd64/portmaster-core
@ -520,44 +523,45 @@ release-prep:
COPY (+tauri-build/output/portmaster.exe --target="x86_64-pc-windows-gnu") ./output/binary/windows_amd64/portmaster.exe
COPY (+tauri-build/output/WebView2Loader.dll --target="x86_64-pc-windows-gnu") ./output/binary/windows_amd64/WebView2Loader.dll
COPY (+go-build/output/portmaster-core.exe --GOARCH=amd64 --GOOS=windows --CMDS=portmaster-core) ./output/binary/windows_amd64/portmaster-core.exe
# TODO(vladimir): figure out a way to get the lastest release of the kext and dll.
RUN wget -O ./output/binary/windows_amd64/portmaster-kext.sys https://updates.safing.io/windows_amd64/kext/portmaster-kext_v2-0-4.sys
RUN touch ./output/binary/windows_amd64/portmaster-core.dll
# TODO(vladimir): figure out a way to get the lastest release of the kext and the dll.
RUN cp "${outputDir}/windows_amd64/portmaster-kext.sys" ./output/binary/windows_amd64/portmaster-kext.sys
RUN cp "${outputDir}/windows_amd64/portmaster-core.dll" ./output/binary/windows_amd64/portmaster-core.dll
# All platforms
COPY (+assets/assets.zip) ./output/binary/all/assets.zip
COPY (+angular-project/output/portmaster.zip --project=portmaster --dist=./dist --configuration=production --baseHref=/ui/modules/portmaster/) ./output/binary/all/portmaster.zip
# Intel
# TODO(vladimir): figure out a way to download all latest intel data.
# TODO(vladimir): figure out a way to download all the latest intel data.
RUN mkdir -p ./output/intel
RUN wget -O ./output/intel/geoipv4.mmdb.gz "https://updates.safing.io/all/intel/geoip/geoipv4_v20240820-0-1.mmdb.gz" && \
wget -O ./output/intel/geoipv6.mmdb.gz "https://updates.safing.io/all/intel/geoip/geoipv6_v20240820-0-1.mmdb.gz" && \
wget -O ./output/intel/index.dsd "https://updates.safing.io/all/intel/lists/index_v2023-6-13.dsd" && \
wget -O ./output/intel/base.dsdl "https://updates.safing.io/all/intel/lists/base_v20241001-0-9.dsdl" && \
wget -O ./output/intel/intermediate.dsdl "https://updates.safing.io/all/intel/lists/intermediate_v20240929-0-0.dsdl" && \
wget -O ./output/intel/urgent.dsdl "https://updates.safing.io/all/intel/lists/urgent_v20241002-2-14.dsdl"
RUN cp "${outputDir}/intel/geoipv4.mmdb.gz" ./output/intel/geoipv4.mmdb.gz
RUN cp "${outputDir}/intel/geoipv6.mmdb.gz" ./output/intel/geoipv6.mmdb.gz
RUN cp "${outputDir}/intel/index.dsd" ./output/intel/index.dsd
RUN cp "${outputDir}/intel/base.dsdl" ./output/intel/base.dsdl
RUN cp "${outputDir}/intel/intermediate.dsdl" ./output/intel/intermediate.dsdl
RUN cp "${outputDir}/intel/urgent.dsdl" ./output/intel/urgent.dsdl
# Genereate index files
COPY (+go-build/output/updatemgr --GOARCH=amd64 --GOOS=linux --CMDS=updatemgr) ./updatemgr
RUN ./updatemgr scan --dir "./output/binary" > ./output/binary/index.json
RUN ./updatemgr scan --dir "./output/intel" > ./output/intel/index.json
# Intel Extracted (needed for the installers)
RUN mkdir -p ./output/intel_decompressed
RUN cp ./output/intel/index.json ./output/intel_decompressed/index.json
RUN gzip -dc ./output/intel/geoipv4.mmdb.gz > ./output/intel_decompressed/geoipv4.mmdb
RUN gzip -dc ./output/intel/geoipv6.mmdb.gz > ./output/intel_decompressed/geoipv6.mmdb
RUN cp ./output/intel/index.dsd ./output/intel_decompressed/index.dsd
RUN cp ./output/intel/base.dsdl ./output/intel_decompressed/base.dsdl
RUN cp ./output/intel/intermediate.dsdl ./output/intel_decompressed/intermediate.dsdl
RUN cp ./output/intel/urgent.dsdl ./output/intel_decompressed/urgent.dsdl
RUN cp ${outputDir}/intel/index.json ./output/intel_decompressed/index.json
RUN gzip -dc ${outputDir}/intel/geoipv4.mmdb.gz > ./output/intel_decompressed/geoipv4.mmdb
RUN gzip -dc ./${outputDir}/intel/geoipv6.mmdb.gz > ./output/intel_decompressed/geoipv6.mmdb
RUN cp ${outputDir}/intel/index.dsd ./output/intel_decompressed/index.dsd
RUN cp ${outputDir}/intel/base.dsdl ./output/intel_decompressed/base.dsdl
RUN cp ${outputDir}/intel/intermediate.dsdl ./output/intel_decompressed/intermediate.dsdl
RUN cp ${outputDir}/intel/urgent.dsdl ./output/intel_decompressed/urgent.dsdl
# Save all artifacts to output folder
SAVE ARTIFACT --if-exists --keep-ts "output/binary/index.json" AS LOCAL "${outputDir}/binary/index.json"
SAVE ARTIFACT --if-exists --keep-ts "output/binary/all/*" AS LOCAL "${outputDir}/binary/all/"
SAVE ARTIFACT --if-exists --keep-ts "output/binary/linux_amd64/*" AS LOCAL "${outputDir}/binary/linux_amd64/"
SAVE ARTIFACT --if-exists --keep-ts "output/binary/windows_amd64/*" AS LOCAL "${outputDir}/binary/windows_amd64/"
SAVE ARTIFACT --if-exists --keep-ts "output/intel/*" AS LOCAL "${outputDir}/intel/"
# SAVE ARTIFACT --if-exists --keep-ts "output/intel/*" AS LOCAL "${outputDir}/intel/"
SAVE ARTIFACT --if-exists --keep-ts "output/intel_decompressed/*" AS LOCAL "${outputDir}/intel_decompressed/"
# Save all artifacts to the container output folder so other containers can access it.