Skip to content

Oracle ODBC CI Fail#5343

Merged
aleks-f merged 3 commits into
mainfrom
5342-oracle-odbc-ci-fail
May 5, 2026
Merged

Oracle ODBC CI Fail#5343
aleks-f merged 3 commits into
mainfrom
5342-oracle-odbc-ci-fail

Conversation

@aleks-f
Copy link
Copy Markdown
Member

@aleks-f aleks-f commented May 5, 2026

  • Disable the container HEALTHCHECK via --health-cmd=none so podman does not invoke host systemd-run; under nix-shell --pure the host binary loads Nix's libdl.so.2 against host glibc and fails on a missing GLIBC_ABI_DT_X86_64_PLT symbol.

  • Replace ls+glob lookups with find. With shopt -s nullglob in the user's shell, an unmatched ls glob silently lists CWD, which injected a bogus value into odbcinst.ini Driver= and produced a self-referential instantclient_23_26 -> . symlink that suppressed re-download.

  • Trigger Instant Client download on missing libsqora.so*, not just on a missing directory, so a stale or broken state recovers automatically on the next nix-shell entry.

  • Update the ARM64 download URL to the versioned scheme; Oracle removed the unversioned instantclient-basic-linux-arm64.zip alias. Bump Instant Client to 23.26.1 to match the apt-style download used by the x86_64 CI job, and fill in the ARM64 SHA256s.

- Disable the container HEALTHCHECK via --health-cmd=none so podman
  does not invoke host systemd-run; under nix-shell --pure the host
  binary loads Nix's libdl.so.2 against host glibc and fails on a
  missing GLIBC_ABI_DT_X86_64_PLT symbol.

- Replace ls+glob lookups with find. With shopt -s nullglob in the
  user's shell, an unmatched ls glob silently lists CWD, which
  injected a bogus value into odbcinst.ini Driver= and produced a
  self-referential instantclient_23_26 -> . symlink that suppressed
  re-download.

- Trigger Instant Client download on missing libsqora.so*, not just
  on a missing directory, so a stale or broken state recovers
  automatically on the next nix-shell entry.

- Update the ARM64 download URL to the versioned scheme; Oracle
  removed the unversioned instantclient-basic-linux-arm64.zip alias.
  Bump Instant Client to 23.26.1 to match the apt-style download
  used by the x86_64 CI job, and fill in the ARM64 SHA256s.
@aleks-f aleks-f added this to the Release 1.15.3 milestone May 5, 2026
@aleks-f aleks-f self-assigned this May 5, 2026
@aleks-f aleks-f linked an issue May 5, 2026 that may be closed by this pull request
@aleks-f aleks-f added the CI Continuous Integration label May 5, 2026
aleks-f added 2 commits May 5, 2026 13:59
…5342

The previous --health-cmd=none flag did not actually prevent podman from
calling host systemd-run during container start; podman uses systemd-run
for cgroup unit registration regardless of the healthcheck setting when
the systemd cgroup manager is active.

- Write a containers.conf with cgroup_manager = cgroupfs and
  events_logger = file so podman bypasses systemd entirely. This fixes
  both:
  * GitHub Actions runners, where host systemd-run loaded the Nix
    libdl.so.2 against host glibc and died on a missing
    GLIBC_ABI_DT_X86_64_PLT symbol.
  * Headless VMs without a logind session, where systemctl --user fails
    with Interactive authentication required.

- Run the container with --network=host instead of -p 1521:1521.
  Rootless pasta fails on some kernels with Failed to get netlink
  socket; host networking avoids the user-mode networking helper
  altogether and the test only needs 127.0.0.1:1521.

- Fill in the x86_64 SHA256 placeholders with values for 23.26.1.0.0 so
  future runs verify integrity instead of warning.
@aleks-f aleks-f changed the title fix(ci): Oracle ODBC nix-shell on aarch64 #5342 Oracle ODBC CI Fail May 5, 2026
@aleks-f aleks-f merged commit b0f8707 into main May 5, 2026
49 of 50 checks passed
@aleks-f aleks-f deleted the 5342-oracle-odbc-ci-fail branch May 5, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Continuous Integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Oracle ODBC CI fail

1 participant