Firefly III LXC fetches unstable release versions #258

Closed
opened 2026-02-04 17:29:09 +03:00 by OVERLORD · 8 comments
Owner

Originally created by @alberanid on GitHub (Jan 2, 2025).

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

Firefly III LXC

📂 What was the exact command used to execute the script?

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/firefly.sh)"

📝 Provide a clear and concise description of the issue.

By default, the newly introduced Firefly III LXC script fetches the latest available version of Firefly III, which most of the times is an alpha release.

I propose changing the current way to fetch tags:

curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}'

(which currently returns 6.2.0-alpha.1) with this one:

curl -L -s -H "Accept: application/vnd.github+json" https://api.github.com/repos/firefly-iii/firefly-iii/releases?per_page=50 | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}' | grep "^v" | grep -v '\-\(alpha\|beta\)' | sed 's/^v//' | head -1

(which returns 6.1.25)

I will provide a PR, soon.

Tagging @quantumryuu as the author of the PR.

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 12

🔄 Steps to reproduce the issue.

Just install Firefly III LXC and check its version number.

Paste the full error output (if available).

Not an error, but you're not expected to install software that is in alpha state.

🖼️ Additional context (optional).

image

Originally created by @alberanid on GitHub (Jan 2, 2025). ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? Firefly III LXC ### 📂 What was the exact command used to execute the script? bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/firefly.sh)" ### 📝 Provide a clear and concise description of the issue. By default, the newly introduced Firefly III LXC script fetches the latest available version of Firefly III, which most of the times is an alpha release. I propose changing the current way to fetch tags: ``` curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}' ``` (which currently returns *6.2.0-alpha.1*) with this one: ``` curl -L -s -H "Accept: application/vnd.github+json" https://api.github.com/repos/firefly-iii/firefly-iii/releases?per_page=50 | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}' | grep "^v" | grep -v '\-\(alpha\|beta\)' | sed 's/^v//' | head -1 ``` (which returns *6.1.25*) I will provide a PR, soon. Tagging @quantumryuu as the author of the PR. ### ⚙️ What settings are you using? - [X] Default Settings - [ ] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 12 ### 🔄 Steps to reproduce the issue. Just install Firefly III LXC and check its version number. ### ❌ Paste the full error output (if available). Not an error, but you're not expected to install software that is in alpha state. ### 🖼️ Additional context (optional). ![image](https://github.com/user-attachments/assets/3d7a056e-e61f-44c9-8aeb-86880ddd6860)
Author
Owner

@MickLesk commented on GitHub (Jan 2, 2025):

It crawl the latest official Release. Thats correct. We dont improve the call. Its an firefly Maintenance topic.

@MickLesk commented on GitHub (Jan 2, 2025): It crawl the latest official Release. Thats correct. We dont improve the call. Its an firefly Maintenance topic.
Author
Owner

@alberanid commented on GitHub (Jan 2, 2025):

Understood. I've opened a discussion on the Firefly III project: https://github.com/orgs/firefly-iii/discussions/9610

@alberanid commented on GitHub (Jan 2, 2025): Understood. I've opened a discussion on the Firefly III project: https://github.com/orgs/firefly-iii/discussions/9610
Author
Owner

@quantumryuu commented on GitHub (Jan 2, 2025):

Hello @alberanid, I run the command the command that it's in the script to fetch the latest release, and I got the 6.1.25. I don't even know how you got the alpha release

@quantumryuu commented on GitHub (Jan 2, 2025): Hello @alberanid, I run the command the command that it's in the script to fetch the latest release, and I got the **6.1.25**. I don't even know how you got the alpha release
Author
Owner

@MickLesk commented on GitHub (Jan 2, 2025):

Hello @alberanid, I run the command the command that it's in the script to fetch the latest release, and I got the 6.1.25. I don't even know how you got the alpha release

because the maintainer of firefly fixed it a few hours ago

@MickLesk commented on GitHub (Jan 2, 2025): > Hello @alberanid, I run the command the command that it's in the script to fetch the latest release, and I got the **6.1.25**. I don't even know how you got the alpha release because the maintainer of firefly fixed it a few hours ago
Author
Owner

@alberanid commented on GitHub (Jan 2, 2025):

because the maintainer of firefly fixed it a few hours ago

@quantumryuu as said by @MickLesk , the authors of Firefly III reverted the "latest" release to 6.1.25. They, however, seems to think that it's somehow normal to have an alpha as "latest": https://github.com/orgs/firefly-iii/discussions/9610#discussioncomment-11720130

Also, I don't know what will happen on an existing LXC now that the new "latest" tag is in fact older that the previous one. Am I wrong or the check is just on the whole version tag, and if they differ the latest version is installed anyway?

@alberanid commented on GitHub (Jan 2, 2025): > because the maintainer of firefly fixed it a few hours ago @quantumryuu as said by @MickLesk , the authors of Firefly III reverted the "latest" release to 6.1.25. They, however, seems to think that it's somehow normal to have an alpha as "latest": https://github.com/orgs/firefly-iii/discussions/9610#discussioncomment-11720130 Also, I don't know what will happen on an existing LXC now that the new "latest" tag is in fact older that the previous one. Am I wrong or the check is just on the whole version tag, and if they differ the latest version is installed anyway?
Author
Owner

@alberanid commented on GitHub (Jan 3, 2025):

to test the above described scenario, I cloned my current 6.2.0-alpha.1 installation and run update in it.

It fails with:

    _______           ______     
   / ____(_)_______  / __/ /_  __
  / /_  / / ___/ _ \/ /_/ / / / /
 / __/ / / /  /  __/ __/ / /_/ / 
/_/   /_/_/   \___/_/ /_/\__, /  
                        /____/   

  ✔️  Stopped Apache2
 ⠼ Updating Firefly to v6.1.25 
[ERROR] in line 51: exit code 0: while executing command composer install --no-dev --no-interaction &> /dev/null

(exit code: 1) and after that the LXC is completely broken.

Funny thing, manually running the update script line by line will be fine (exit code 0) at line composer install --no-dev --no-interaction (just a lot of warnings in the output) but fails at php artisan migrate --seed --force since it can't update the db:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'currentamount' in 'where clause' (Connection: mysql, SQL: select * from `piggy_bank_repetitions` where `currentamount` < 0)

So... yeah, people who installed the 6.2.0-alpha in the previous day will have a broken installation after today.

Let me know if I may help.

@alberanid commented on GitHub (Jan 3, 2025): to test the above described scenario, I cloned my current 6.2.0-alpha.1 installation and run `update` in it. It fails with: ``` _______ ______ / ____(_)_______ / __/ /_ __ / /_ / / ___/ _ \/ /_/ / / / / / __/ / / / / __/ __/ / /_/ / /_/ /_/_/ \___/_/ /_/\__, / /____/ ✔️ Stopped Apache2 ⠼ Updating Firefly to v6.1.25 [ERROR] in line 51: exit code 0: while executing command composer install --no-dev --no-interaction &> /dev/null ``` (exit code: 1) and after that the LXC is completely broken. Funny thing, manually running the update script line by line will be fine (exit code 0) at line `composer install --no-dev --no-interaction` (just a lot of warnings in the output) but fails at `php artisan migrate --seed --force` since it can't update the db: ``` SQLSTATE[42S22]: Column not found: 1054 Unknown column 'currentamount' in 'where clause' (Connection: mysql, SQL: select * from `piggy_bank_repetitions` where `currentamount` < 0) ``` So... yeah, people who installed the 6.2.0-alpha in the previous day will have a broken installation after today. Let me know if I may help.
Author
Owner

@MickLesk commented on GitHub (Jan 3, 2025):

You cant downgrade this. Build an new LXC

@MickLesk commented on GitHub (Jan 3, 2025): You cant downgrade this. Build an new LXC
Author
Owner

@alberanid commented on GitHub (Jan 3, 2025):

You cant downgrade this. Build an new LXC

Problem is that in a new LXC the code will be downgraded to 6.1.25, but my data right now was already migrated to 6.2.0-alpha.1 and they are no longer compatible. (also, migration and backup/restore of Firefly III data is not exactly an easy task and I'd prefer to not start again from zero).

Anyway, I guess very few people have installed the 6.2.0-alpha.1 version, so it's probably not a big deal.

@alberanid commented on GitHub (Jan 3, 2025): > You cant downgrade this. Build an new LXC Problem is that in a new LXC the code will be downgraded to 6.1.25, but my data right now was already migrated to 6.2.0-alpha.1 and they are no longer compatible. (also, migration and backup/restore of Firefly III data is not exactly an easy task and I'd prefer to not start again from zero). Anyway, I guess very few people have installed the 6.2.0-alpha.1 version, so it's probably not a big deal.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#258