Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update sqlite3 #9033

Closed
2 of 11 tasks
GuySartorelli opened this issue Dec 14, 2023 · 8 comments
Closed
2 of 11 tasks

Update sqlite3 #9033

GuySartorelli opened this issue Dec 14, 2023 · 8 comments

Comments

@GuySartorelli
Copy link

GuySartorelli commented Dec 14, 2023

Tool name

sqlite3

Tool license

public domain

Add or update?

  • Add
  • Update

Desired version

At least 3.39.0, but preferably the current latest stable release

Approximate size

No response

Brief description of tool

No response

URL for tool's homepage

No response

Provide a basic test case to validate the tool's functionality.

No response

Platforms where you need the tool

  • Azure DevOps
  • GitHub Actions

Runner images where you need the tool

  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 11
  • macOS 12
  • macOS 13
  • Windows Server 2019
  • Windows Server 2022

Can this tool be installed during the build?

No response

Tool installation time in runtime

No response

Are you willing to submit a PR?

Absolutely - if you're open to it I'll be happy to raise a PR for this - but I'll need someone to point me in the right direction for where to start

@GuySartorelli
Copy link
Author

My main reason for this request is that 3.39.0 is the first version that provides support for RIGHT JOIN - but the current installed version in the ubuntu-latest image is 3.37.2

@erik-bershel
Copy link
Contributor

Hey @GuySartorelli!
As I see sqlite3 3.37.2 is the latest available build in apt repository. https://packages.ubuntu.com/jammy/sqlite3
I'll take a look what might be done about it.

@lekoala
Copy link

lekoala commented Dec 15, 2023

I'm also interested in this

It seems that the package in kinetic has the same deps libc6 (>= 2.34), libreadline8 (>= 6.0), zlib1g (>= 1:1.2.0) so maybe it's possible to use it without breaking everything

Otherwise maybe it's possible to compile it from source?

@erik-bershel
Copy link
Contributor

Hey @GuySartorelli and @lekoala!

After further investigation, I can say that we do not intend to update the installable version of the utility in the images due to maintenance concerns. There is no safe or stable way for us to install this package when building an image, and the method of building from source is unacceptable due to its resource and time consumption I may add.
As a workaround, I can offer you the following fairly simple workflow, which will allow you to change the version on the fly in less than couple minutes (please note that if you need a different version of the package, it will be enough to update the link - the SQlite3 developers have a fairly transparent format):

jobs:
  sqlite:
    runs-on: ubuntu-latest
    steps:
    - name: Check sqlite3 version
      run: sqlite3 --version
    - name: Reinstall sqlite3
      run: |
        download_link="https://www.sqlite.org/2023/sqlite-tools-linux-x64-3440200.zip"
        wget "$download_link" -P /tmp
        unzip "/tmp/$(basename "$download_link")" -d /tmp
        sudo install /tmp/sqlite3 /usr/local/bin/
    - name: Check sqlite3 version
      run: sqlite3 --version

Example run:
Screenshot 2023-12-15 at 13 02 41

lekoala added a commit to lekoala/silverstripe-sqlite3 that referenced this issue Dec 15, 2023
@GuySartorelli
Copy link
Author

Hi @erik-bershel,

Thank you for the update.

For the sake of clarity, can you please answer some questions for me?

  1. You initially indicated (or perhaps I misinterpreted) that sqlite is installed as part of the ubuntu installation itself, and that the version available in the apt repository is outdated which is the reason is it outdated in the GitHub Actions Ubuntu images. Is that correct? And if so, would getting the version in the apt repository updated unblock your maintenance concerns?
  2. If the above is incorrect, how is sqlite currently installed for the GitHub Actions Ubuntu images?

@erik-bershel
Copy link
Contributor

Hello @GuySartorelli.
The sqlite3 is installed from the official Canonical repository using the apt package manager. Yes, if Canonical updates the version in the repository, then the next time the image is updated it will be available to Actions users. By “we do not intend to update the installable version of the utility in the images due to maintenance concerns” I meant rather “we don’t want to change the installation method”.

@GuySartorelli
Copy link
Author

GuySartorelli commented Dec 18, 2023

Okay cool.
Going back to #9033 (comment) then, you said you'd look into what could be done about updating the canonical repository. Did you get very far with that? I'll be happy to look into that myself but I don't want to duplicate efforts.

Note that I don't want you to change the installation method - I just want sqlite up to date. So if updating it in apt is the way to go, then lets work towards that.

@erik-bershel
Copy link
Contributor

Hi @GuySartorelli!

if updating it in apt is the way to go - yep, best if you don't want to replace it during runtime.

Unfortunately, we do not maintain external sources - we can only recommend contacting the maintainers of the official APT repository. I was rather testing our ability to painlessly replace the source itself with one containing more relevant versions of the specified package.

As a result, if you are planning to work in this direction, then ping me with suggestions, please - if I have the opportunity and possibility to help, I will be glad to participate.

caleb531 added a commit to caleb531/imessage-conversation-analyzer that referenced this issue Jan 26, 2024
The ubuntu-latest runner for GitHub Actions (currently 22.04) uses a
version of sqlite3 which lacks support for FULL OUTER JOIN, a feature
required by one of my SQL queries. In an attempt to fix this, we will
try upgrading sqlite3 as part of the action (prior to running tests).

For more details, see:
<actions/runner-images#9033 (comment)>
caleb531 added a commit to caleb531/imessage-conversation-analyzer that referenced this issue Jan 26, 2024
The ubuntu-latest runner for GitHub Actions (currently 22.04) uses a
version of sqlite3 which lacks support for FULL OUTER JOIN, a feature
required by one of my SQL queries. In an attempt to fix this, we will
try upgrading sqlite3 as part of the action (prior to running tests).

For more details, see:
<actions/runner-images#9033 (comment)>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants