From e5dd351f741fa4b8b3378d1c6da7fffaafad6007 Mon Sep 17 00:00:00 2001 From: thelamer Date: Sat, 11 Apr 2026 20:09:54 -0400 Subject: [PATCH 1/2] make wayland default and ingest from pre releases as stable has not had artifacts for months now --- .github/workflows/external_trigger.yml | 4 ++-- Dockerfile | 14 ++++++------ Jenkinsfile | 30 +++++++++++++------------- README.md | 1 + jenkins-vars.yml | 2 +- readme-vars.yml | 1 + 6 files changed, 27 insertions(+), 25 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index eba9b29..f9f32a8 100644 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -29,8 +29,8 @@ jobs: echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY echo "> External trigger running off of master branch. To disable this trigger, add \`bambustudio_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY - EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/bambulab/BambuStudio/releases/latest" | jq -r '. | .tag_name') - echo "Type is \`github_stable\`" >> $GITHUB_STEP_SUMMARY + EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/bambulab/BambuStudio/releases" | jq -r '.[0] | .tag_name') + echo "Type is \`github_devel\`" >> $GITHUB_STEP_SUMMARY if grep -q "^bambustudio_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY diff --git a/Dockerfile b/Dockerfile index 57a5436..f28da5c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,9 @@ LABEL maintainer="thelamer" # title ENV TITLE=BambuStudio \ - SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt + SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt \ + NO_GAMEPAD=true \ + PIXELFLUX_WAYLAND=true RUN \ echo "**** add icon ****" && \ @@ -35,12 +37,10 @@ RUN \ libwebkit2gtk-4.1-0 \ libwx-perl && \ echo "**** install bambu studio from appimage ****" && \ - if [ -z ${BAMBUSTUDIO_VERSION+x} ]; then \ - BAMBUSTUDIO_VERSION=$(curl -sX GET "https://api.github.com/repos/bambulab/BambuStudio/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ - fi && \ - RELEASE_URL=$(curl -sX GET "https://api.github.com/repos/bambulab/BambuStudio/releases/latest" | awk '/url/{print $4;exit}' FS='[""]') && \ - DOWNLOAD_URL=$(curl -sX GET "${RELEASE_URL}" | awk '/browser_download_url.*ubuntu-24.04/{print $4;exit}' FS='[""]') && \ + RELEASE_URL=$(curl -sX GET "https://api.github.com/repos/bambulab/BambuStudio/releases" \ + | awk '/url/{print $4;exit}' FS='[""]') && \ + DOWNLOAD_URL=$(curl -sX GET "${RELEASE_URL}" \ + | awk '/browser_download_url.*ubuntu-24.04/{print $4;exit}' FS='[""]') && \ cd /tmp && \ curl -o \ /tmp/bambu.app -L \ diff --git a/Jenkinsfile b/Jenkinsfile index bff06b5..fd96726 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -145,23 +145,23 @@ pipeline { /* ######################## External Release Tagging ######################## */ - // If this is a stable github release use the latest endpoint from github to determine the ext tag - stage("Set ENV github_stable"){ - steps{ - script{ - env.EXT_RELEASE = sh( - script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''', - returnStdout: true).trim() - } - } + // If this is a devel github release use the first in an array from github to determine the ext tag + stage("Set ENV github_devel"){ + steps{ + script{ + env.EXT_RELEASE = sh( + script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases | jq -r '.[0] | .tag_name' ''', + returnStdout: true).trim() + } + } } // If this is a stable or devel github release generate the link for the build message stage("Set ENV github_link"){ - steps{ - script{ - env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE - } - } + steps{ + script{ + env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE + } + } } // Sanitize the release tag and strip illegal docker or github characters stage("Sanitize tag"){ @@ -1031,7 +1031,7 @@ pipeline { "type": "commit",\ "tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' echo "Pushing New release for Tag" - curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. |.body' > releasebody.json + curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases | jq -r '.[0] |.body' > releasebody.json jq -n \ --arg tag_name "$META_TAG" \ --arg target_commitish "master" \ diff --git a/README.md b/README.md index e2fd561..1ca132e 100644 --- a/README.md +++ b/README.md @@ -642,6 +642,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **11.04.26:** - Ingest from pre-release, make Wayland default disable with PIXELFLUX_WAYLAND=false. * **28.12.25:** - Add Wayland init logic. * **31.08.25:** - Update AppImage ingestion. * **14.08.25:** - Rebase to Ubuntu Noble to ingest approved appimage. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index aba2e36..21be21b 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -2,7 +2,7 @@ # jenkins variables project_name: docker-bambustudio -external_type: github_stable +external_type: github_devel release_type: stable release_tag: latest ls_branch: master diff --git a/readme-vars.yml b/readme-vars.yml index fe86206..f947503 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -109,6 +109,7 @@ init_diagram: | "bambustudio:latest" <- Base Images # changelog changelogs: + - {date: "11.04.26:", desc: "Ingest from pre-release, make Wayland default disable with PIXELFLUX_WAYLAND=false."} - {date: "28.12.25:", desc: "Add Wayland init logic."} - {date: "31.08.25:", desc: "Update AppImage ingestion."} - {date: "14.08.25:", desc: "Rebase to Ubuntu Noble to ingest approved appimage."} From dc760b721238c3c4eae31e68e00d780d142bd4e0 Mon Sep 17 00:00:00 2001 From: thelamer Date: Sat, 11 Apr 2026 20:13:28 -0400 Subject: [PATCH 2/2] update artifact check for new format --- .github/workflows/external_trigger.yml | 2 +- jenkins-vars.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index f9f32a8..df81952 100644 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -111,7 +111,7 @@ jobs: exit 0 else assets=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/bambulab/BambuStudio/releases/tags/${EXT_RELEASE}" | jq -r '.assets[].browser_download_url') - if grep -q "Bambu_Studio_ubuntu-24.04" <<< "${assets}"; then + if grep -q "BambuStudio_ubuntu-24.04" <<< "${assets}"; then artifacts_found="true" else artifacts_found="false" diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 21be21b..de72c1f 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -8,7 +8,7 @@ release_tag: latest ls_branch: master external_artifact_check: | assets=$(curl -u "${{ '{{' }} secrets.CR_USER {{ '}}' }}:${{ '{{' }} secrets.CR_PAT {{ '}}' }}" -sX GET "https://api.github.com/repos/bambulab/BambuStudio/releases/tags/${EXT_RELEASE}" | jq -r '.assets[].browser_download_url') - if grep -q "Bambu_Studio_ubuntu-24.04" <<< "${assets}"; then + if grep -q "BambuStudio_ubuntu-24.04" <<< "${assets}"; then artifacts_found="true" else artifacts_found="false"