diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml index 1f25845..ce3d19a 100644 --- a/.github/ISSUE_TEMPLATE/issue.bug.yml +++ b/.github/ISSUE_TEMPLATE/issue.bug.yml @@ -52,6 +52,7 @@ body: label: CPU architecture options: - x86-64 + - arm64 validations: required: true - type: textarea diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 955db91..016bca2 100644 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -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}" \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 new file mode 100644 index 0000000..ec05f42 --- /dev/null +++ b/Dockerfile.aarch64 @@ -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|| \n yes\n \n|' /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 diff --git a/Jenkinsfile b/Jenkinsfile index 84299f9..c2467f5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -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' diff --git a/README.md b/README.md index 53d99de..4e8ba59 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ The architectures supported by this image are: | Architecture | Available | Tag | | :----: | :----: | ---- | | x86-64 | ✅ | amd64-\ | -| arm64 | ❌ | | +| arm64 | ✅ | arm64v8-\ | | armhf | ❌ | | ## Application Setup diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 918e8ef..5af1a09 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -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' diff --git a/readme-vars.yml b/readme-vars.yml index add82c5..d8bdc19 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -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