There should be an error here, I tried to pull v3.6.0.beta2 via a tag, but encountered the following error:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -H -E -u discourse bash -c '
set -o errexit
git fetch --tags --prune-tags --prune --force origin
if [[ $(git symbolic-ref --short HEAD) == v3.6.0.beta2 ]] ; then
git pull
else
git -c advice.detachedHead=false checkout v3.6.0.beta2
fi
' failed with return #<Process::Status: pid 146 exit 128>
Location of failure: /usr/local/lib/ruby/gems/3.4.0/gems/pups-1.4.0/lib/pups/exec_command.rb:138:in `Pups::ExecCommand#spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"code", "cmd'=>["sudo -H -E -u discourse git clean -f", "sudo -H -E -u discourse bash -c '\\n set -o errexit\\n git fetch --tags --prune-tags --prune --force origin\\n if [[ $(git symbolic-ref --short HEAD) == $version ]] ; then\\n git pull\\n else\\n git -c advice.detachedHead=false checkout $version\\n fi\\n'", "sudo -H -E -u discourse git config user.discourse-version $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p /shared/log/rails", "bash -c \\"touch -a /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\\"", "bash -c \\"ln -s /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\\"", "bash -c \\"mkdir -p /shared/{uploads,backups}\\"", "bash -c \\"ln -s /shared/{uploads,backups} $home/public\\"", "bash -c \\"mkdir -p /shared/tmp/{backups,restores}\\"", "bash -c \\"ln -s /shared/tmp/{backups,restores} $home/tmp\\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp", "[ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete"]}
bootstrap failed with exit code 128
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
adc8ef45e9ae880827c9294dbbf73dfe9ab413a050c83fe3f4722c2911876ce2
versiononly supports branches, not tags!
What is correct is:
params:
version: release/2025.11
As for why I want to pull release/2025.11, it’s because the current production environment is on a version close to that, and I want to upgrade, but I’m afraid of potential issues. Furthermore, the audit process does not allow me to perform upgrades directly; I must first validate the upgrade process (from release/2025.11 to release/2026.1) in the test environment before proceeding in production. Although this is somewhat tedious, it is indeed the best choice for a correct process. Thus, I had to look for a way to pull a specific branch or tag here.
Sorry for saying so much unnecessary stuff. Fortunately, I have now found a passable solution. Thank you everyone.

