Skip to content

Commit 404e3b6

Browse files
committed
add Bruno, Godot
1 parent a073b75 commit 404e3b6

File tree

6 files changed

+43
-20
lines changed

6 files changed

+43
-20
lines changed

.github/workflows/build-release.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ jobs:
3232
if (ls /media/saved-cache/*.tar.zst); then
3333
docker run --pull always --rm \
3434
--volume "/media/saved-cache:/media/saved-cache" \
35-
--volume "docker-development-desktop-build-cache:/media/build-cache" \
35+
--volume \
36+
"docker-development-desktop-build-cache:/media/build-cache" \
3637
--workdir /media \
3738
madebytimo/scripts \
3839
compress.sh --decompress /media/saved-cache/*.tar.zst
@@ -64,8 +65,6 @@ jobs:
6465
else
6566
builder/build.sh
6667
fi
67-
env:
68-
MESHCENTRAL_URL: ${{ secrets.MESHCENTRAL_URL }}
6968
- name: Build update base
7069
if: ${{ github.event_name == 'schedule'}}
7170
run: builder/build.sh --publish --update-base
@@ -84,7 +83,8 @@ jobs:
8483
run: |
8584
docker run --pull always --rm \
8685
--volume "/media/saved-cache:/media/saved-cache" \
87-
--volume "docker-development-desktop-build-cache:/media/build-cache" \
86+
--volume \
87+
"docker-development-desktop-build-cache:/media/build-cache" \
8888
madebytimo/scripts \
8989
compress.sh --fast --output /media/saved-cache/build-cache /media/build-cache
9090
sudo chown -R "$(whoami)" /media/saved-cache

.github/workflows/static-code-analysis.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ jobs:
1919
if (ls /media/saved-cache/*.tar.zst); then
2020
docker run --pull always --rm \
2121
--volume "/media/saved-cache:/media/saved-cache" \
22-
--volume "docker-development-desktop-build-cache:/media/build-cache" \
22+
--volume \
23+
"docker-development-desktop-build-cache:/media/build-cache" \
2324
--workdir /media \
2425
madebytimo/scripts \
2526
compress.sh --decompress /media/saved-cache/*.tar.zst
@@ -45,7 +46,8 @@ jobs:
4546
run: |
4647
docker run --pull always --rm \
4748
--volume "/media/saved-cache:/media/saved-cache" \
48-
--volume "docker-development-desktop-build-cache:/media/build-cache" \
49+
--volume \
50+
"docker-development-desktop-build-cache:/media/build-cache" \
4951
madebytimo/scripts \
5052
compress.sh --fast --output /media/saved-cache/build-cache /media/build-cache
5153
sudo chown -R "$(whoami)" /media/saved-cache

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ ARG MESHCENTRAL_URL
55
COPY files/locale.gen /etc/locale.gen
66

77
RUN apt update -qq && apt install -y -qq cinnamon dbus dbus-x11 xserver-xorg-video-dummy \
8-
&& install-autonomous.sh install AndroidStudio Chromium DBeaver DesktopBasics Firefox \
9-
IntellijIdea ScriptsDesktop UnityHub VncServer VSCode \
8+
&& install-autonomous.sh install AndroidStudio Bruno Chromium DBeaver DesktopBasics Firefox \
9+
Godot IntellijIdea ScriptsDesktop UnityHub VncServer VSCode \
1010
&& rm -rf /var/lib/apt/lists/* \
1111
\
1212
&& locale-gen \

Version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v0.1.1
1+
v0.2.0

builder/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env bash
2-
set -e
2+
set -e -o pipefail
33

44
SCRIPT_DIR="$(dirname "$(realpath "$0")")"
55

builder/docker.sh

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/usr/bin/env bash
2-
set -e
2+
set -e -o pipefail
33

44
BUILD_ARGUMENTS=()
5-
DEPENDENCIES=(docker)
5+
BUILDER_EXPORT_ARCHIVE="${BUILDER_EXPORT_ARCHIVE:-true}"
6+
DEPENDENCIES=(docker zstd)
67
UPDATE_BASE=false
7-
PLATFORMS=(amd64)
8+
PLATFORMS=(linux/amd64)
89
REGISTRY_USER="madebytimo"
910
APPLICATION_NAME="development-desktop"
1011

@@ -14,7 +15,7 @@ for ARGUMENT in "$@"; do
1415
echo "usage: $(basename "$0") [ARGUMENT]"
1516
echo "Builds the docker image from the Dockerfile."
1617
echo "ARGUMENT can be"
17-
echo "--platform [amd64|arm64|arm] Build only for specified platform."
18+
echo "--platform PLATFORM Build only for specified platform."
1819
echo "--publish Push the build."
1920
echo "--update-base Only build if newer base image is available."
2021
exit
@@ -49,13 +50,15 @@ cd "$PROJECT_DIR"
4950
mkdir --parents builds
5051

5152
BASE_IMAGE="$(tac Dockerfile | grep --max-count=1 "^FROM" | cut -d" " -f2)"
52-
docker pull "$BASE_IMAGE"
53-
BASE_IMAGE_DATE="$(docker image inspect --format="{{ .Created }}" "$BASE_IMAGE" | cut -d "T" -f1)"
53+
docker pull --quiet "$BASE_IMAGE"
54+
BASE_IMAGE_DATE="$(docker image inspect --format="{{ .Created }}" "$BASE_IMAGE" \
55+
| sed 's|^\([^T ]*\)[T ].*$|\1|')"
5456
echo "Base image is $BASE_IMAGE from $BASE_IMAGE_DATE"
5557
IMAGE="${REGISTRY_USER}/${APPLICATION_NAME}"
5658
if [[ "$UPDATE_BASE" == true ]]; then
5759
docker pull "$IMAGE"
58-
PUSHED_IMAGE_DATE="$(docker image inspect --format="{{ .Created }}" "$IMAGE" | cut -d "T" -f1)"
60+
PUSHED_IMAGE_DATE="$(docker image inspect --format="{{ .Created }}" "$IMAGE" \
61+
| sed 's|^\([^T ]*\)[T ].*$|\1|')"
5962
echo "Last pushed image is from $PUSHED_IMAGE_DATE"
6063
if [[ "$BASE_IMAGE_DATE" < "$PUSHED_IMAGE_DATE" ]]; then
6164
echo "Used base image is up to date"
@@ -65,10 +68,28 @@ fi
6568

6669
PLATFORMS_STRING="${PLATFORMS[*]}"
6770
BUILD_ARGUMENTS+=(--platform "${PLATFORMS_STRING// /,}")
68-
OUTPUT_FILE="builds/${IMAGE//"/"/-}-${VERSION}-oci.tar"
71+
if [[ "$BUILDER_EXPORT_ARCHIVE" == true ]]; then
72+
OUTPUT_FILE="builds/${IMAGE//"/"/-}-${VERSION}-oci.tar"
73+
BUILD_ARGUMENTS+=(--output \
74+
"type=oci,dest=${OUTPUT_FILE},compression=zstd,compression-level=19,force-compression=true")
75+
fi
6976

70-
docker buildx build "${BUILD_ARGUMENTS[@]}" --output \
71-
"type=oci,dest=${OUTPUT_FILE},compression=zstd,compression-level=19,force-compression=true" \
77+
docker buildx build "${BUILD_ARGUMENTS[@]}" \
7278
--tag "${IMAGE}:latest" --tag "${IMAGE}:${VERSION}" \
7379
--tag "${IMAGE}:${VERSION}-base-${BASE_IMAGE_DATE}" . \
7480
--build-arg "MESHCENTRAL_URL=$MESHCENTRAL_URL"
81+
82+
if [[ "$BUILDER_EXPORT_ARCHIVE" == true ]]; then
83+
docker pull --quiet quay.io/skopeo/stable > /dev/null
84+
rm -f builds/.temp-docker-archive.tar
85+
for PLATFORM in "${PLATFORMS[@]}"; do
86+
docker run --interactive --rm --volume "${PWD}/builds:/builds" \
87+
quay.io/skopeo/stable copy --additional-tag "${IMAGE}:latest" --additional-tag \
88+
"${IMAGE}:${VERSION}" --additional-tag "${IMAGE}:${VERSION}-base-${BASE_IMAGE_DATE}" \
89+
--override-arch "${PLATFORM#*/}" --quiet "oci-archive:${OUTPUT_FILE}:latest" \
90+
"docker-archive:builds/.temp-docker-archive.tar"
91+
zstd -19 --force --quiet -T0 builds/.temp-docker-archive.tar \
92+
-o "${OUTPUT_FILE%oci.tar}${PLATFORM#*/}.tar.zst"
93+
rm -f builds/.temp-docker-archive.tar
94+
done
95+
fi

0 commit comments

Comments
 (0)