test aarch64 in the pipeline

This commit is contained in:
thelamer 2023-08-03 10:07:48 -04:00
parent 385ea3eab4
commit f237d0ce0b
7 changed files with 71 additions and 5 deletions

View File

@ -52,6 +52,7 @@ body:
label: CPU architecture
options:
- x86-64
- arm64
validations:
required: true
- type: textarea

View File

@ -39,10 +39,15 @@ jobs:
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fgithub-desktop%3Apull" \
| jq -r '.token')
digest=$(curl -s \
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}" \
| jq -r 'first(.manifests[].digest)')
digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
| jq -r '.config.digest')
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \

59
Dockerfile.aarch64 Normal file
View File

@ -0,0 +1,59 @@
FROM ghcr.io/linuxserver/baseimage-kasmvnc:arm64v8-debianbullseye
# set version label
ARG BUILD_DATE
ARG GHDESKTOP_VERSION
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
# title
ENV TITLE=Github-Desktop
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
chromium \
git \
ssh-askpass \
thunar \
xfce4-terminal && \
echo "**** install github-desktop ****" && \
if [ -z ${GHDESKTOP_VERSION+x} ]; then \
GHDESKTOP_VERSION=$(curl -sX GET "https://api.github.com/repos/shiftkey/desktop/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/ghdesktop.deb -L \
"https://github.com/shiftkey/desktop/releases/download/${GHDESKTOP_VERSION}/GitHubDesktop-linux-arm64-${GHDESKTOP_VERSION#release-}.deb" && \
apt install --no-install-recommends -y /tmp/ghdesktop.deb && \
echo "**** install codium ****" && \
CODIUM_VERSION=$(curl -sX GET "https://api.github.com/repos/VSCodium/vscodium/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
curl -o \
/tmp/codium.deb -L \
"https://github.com/VSCodium/vscodium/releases/download/${CODIUM_VERSION}/codium_${CODIUM_VERSION}_arm64.deb" && \
apt install --no-install-recommends -y /tmp/codium.deb && \
echo "**** container tweaks ****" && \
ln -s \
/usr/bin/xfce4-terminal \
/usr/bin/gnome-terminal && \
mv \
/usr/bin/chromium \
/usr/bin/chromium-real && \
sed -i 's|</applications>| <application title="GitHub Desktop" type="normal">\n <maximized>yes</maximized>\n </application>\n</applications>|' /etc/xdg/openbox/rc.xml && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
# add local files
COPY /root /
# ports and volumes
EXPOSE 3000
VOLUME /config

2
Jenkinsfile vendored
View File

@ -28,7 +28,7 @@ pipeline {
DEV_DOCKERHUB_IMAGE = 'lsiodev/github-desktop'
PR_DOCKERHUB_IMAGE = 'lspipepr/github-desktop'
DIST_IMAGE = 'ubuntu'
MULTIARCH = 'false'
MULTIARCH = 'true'
CI = 'true'
CI_WEB = 'true'
CI_PORT = '3000'

View File

@ -55,7 +55,7 @@ The architectures supported by this image are:
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ❌ | |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ❌ | |
## Application Setup

View File

@ -18,7 +18,7 @@ repo_vars:
- DEV_DOCKERHUB_IMAGE = 'lsiodev/github-desktop'
- PR_DOCKERHUB_IMAGE = 'lspipepr/github-desktop'
- DIST_IMAGE = 'ubuntu'
- MULTIARCH = 'false'
- MULTIARCH = 'true'
- CI = 'true'
- CI_WEB = 'true'
- CI_PORT = '3000'

View File

@ -10,7 +10,8 @@ project_blurb_optional_extras_enabled: false
# supported architectures
available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "latest"}
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# development version
development_versions: false