diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 611b637..464f0f1 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 main branch. To disable this trigger, add \`openshot_main\` 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/openshot/openshot-qt/releases/latest" | jq -r '. | .tag_name') - echo "Type is \`github_stable\`" >> $GITHUB_STEP_SUMMARY + EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/openshot.developers/ppa/ubuntu/dists/resolute/main/binary-amd64/Packages.gz | gunzip |grep -A 7 -m 1 'Package: openshot-qt' | awk -F ': ' '/Version/{print $2;exit}') + echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY if grep -q "^openshot_main_${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 0da3a8d..d1970ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-selkies:debiantrixie +FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute # set version label ARG BUILD_DATE @@ -20,29 +20,21 @@ RUN \ /usr/share/selkies/www/icon.png \ https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/openshot-logo.png && \ echo "**** install packages ****" && \ - apt-get update && \ - DEBIAN_FRONTEND=noninteractive \ - apt-get install --no-install-recommends -y \ - libatk1.0-0 \ - libatk-bridge2.0-0 \ - libgtk-3-0 && \ - echo "**** install openshot from appimage ****" && \ + add-apt-repository ppa:openshot.developers/ppa && \ if [ -z ${OPENSHOT_VERSION+x} ]; then \ - OPENSHOT_VERSION=$(curl -sX GET "https://api.github.com/repos/openshot/openshot-qt/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ + OPENSHOT="openshot-qt"; \ + else \ + OPENSHOT="openshot-qt=${OPENSHOT_VERSION}"; \ fi && \ - cd /tmp && \ - curl -fo \ - /tmp/openshot.app -L \ - "https://github.com/openshot/openshot-qt/releases/download/${OPENSHOT_VERSION}/OpenShot-${OPENSHOT_VERSION}-x86_64.AppImage" && \ - chmod +x /tmp/openshot.app && \ - ./openshot.app --appimage-extract && \ - mv squashfs-root /opt/openshot && \ - find /opt/openshot -type d -exec chmod go+rx {} + && \ - chmod +x /opt/openshot/usr/bin/openshot-qt-launch && \ - cp \ - /opt/openshot/usr/share/icons/hicolor/scalable/apps/openshot-qt.svg \ - /usr/share/icons/hicolor/scalable/apps/openshot-qt.svg && \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive \ + apt-get install -y --no-install-recommends \ + ${OPENSHOT} && \ + echo "**** symlink binary ****" && \ + mkdir -p /opt/openshot/usr/bin && \ + ln -s \ + /usr/bin/openshot-qt \ + /opt/openshot/usr/bin/openshot-qt-launch && \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apt-get autoclean && \ diff --git a/Jenkinsfile b/Jenkinsfile index 09c0fc6..3ed2c1f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,8 +19,6 @@ pipeline { DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat') QUAYIO_API_TOKEN=credentials('quayio-repo-api-token') GIT_SIGNING_KEY=credentials('484fbca6-9a4f-455e-b9e3-97ac98785f5f') - EXT_USER = 'openshot' - EXT_REPO = 'openshot-qt' BUILD_VERSION_ARG = 'OPENSHOT_VERSION' LS_USER = 'linuxserver' LS_REPO = 'docker-openshot' @@ -146,23 +144,16 @@ 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 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 - } - } + // If this is a custom command to determine version use that command + stage("Set tag custom bash"){ + steps{ + script{ + env.EXT_RELEASE = sh( + script: ''' curl -sX GET http://ppa.launchpad.net/openshot.developers/ppa/ubuntu/dists/resolute/main/binary-amd64/Packages.gz | gunzip |grep -A 7 -m 1 'Package: openshot-qt' | awk -F ': ' '/Version/{print $2;exit}' ''', + returnStdout: true).trim() + env.RELEASE_LINK = 'custom_command' + } + } } // Sanitize the release tag and strip illegal docker or github characters stage("Sanitize tag"){ @@ -1042,7 +1033,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 + echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json jq -n \ --arg tag_name "$META_TAG" \ --arg target_commitish "main" \ diff --git a/README.md b/README.md index cd5bff1..c179bed 100644 --- a/README.md +++ b/README.md @@ -643,6 +643,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **07.08.26:** - Rebase to Ubuntu Resolute, install from ppa. * **03.04.26:** - Make Wayland default disable with PIXELFLUX_WAYLAND=false. * **22.09.25:** - Rebase to Debian Trixie. * **29.07.25:** - Rebase to selkies. Breaking Change: HTTPS is now required. Either use a reverse proxy (like SWAG) with SSL cert or direct connect to port 3001 with HTTPS. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index f9ce20b..dc897e1 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -2,13 +2,12 @@ # jenkins variables project_name: docker-openshot -external_type: github_stable +external_type: na +custom_version_command: "curl -sX GET http://ppa.launchpad.net/openshot.developers/ppa/ubuntu/dists/resolute/main/binary-amd64/Packages.gz | gunzip |grep -A 7 -m 1 'Package: openshot-qt' | awk -F ': ' '/Version/{print $2;exit}'" release_type: stable release_tag: latest ls_branch: main repo_vars: - - EXT_USER = 'openshot' - - EXT_REPO = 'openshot-qt' - BUILD_VERSION_ARG = 'OPENSHOT_VERSION' - LS_USER = 'linuxserver' - LS_REPO = 'docker-openshot' diff --git a/readme-vars.yml b/readme-vars.yml index f1fcc13..d9a7ece 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -104,6 +104,7 @@ init_diagram: | "openshot:latest" <- Base Images # changelog changelogs: + - {date: "07.08.26:", desc: "Rebase to Ubuntu Resolute, install from ppa."} - {date: "03.04.26:", desc: "Make Wayland default disable with PIXELFLUX_WAYLAND=false."} - {date: "22.09.25:", desc: "Rebase to Debian Trixie."} - {date: "29.07.25:", desc: "Rebase to selkies. Breaking Change: HTTPS is now required. Either use a reverse proxy (like SWAG) with SSL cert or direct connect to port 3001 with HTTPS."}