Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 2 additions & 23 deletions .github/actions/container-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,40 +9,19 @@ inputs:
container:
description: Container image or service name from tests/compose.yaml
required: true
user:
description: User to run tests under
default: github-actions
required: true
group:
description: Group to run tests under
default: github-actions
required: true
args:
description: Arguments to pass to the tests

runs:
using: composite
steps:
- run: mount --make-rshared /
shell: bash

- id: root-cgroup
run: grep '^0::' /proc/self/cgroup | sed 's/^0::/cgroup=/' | tee -a "$GITHUB_OUTPUT"
shell: bash

- run: chown -R "$TARGET_USER" "/sys/fs/cgroup${CGROUP}" "$GITHUB_WORKSPACE"
shell: bash
env:
TARGET_USER: ${{ inputs.user }}:${{ inputs.group }}
CGROUP: ${{ steps.root-cgroup.outputs.cgroup }}

- shell: sudo --preserve-env --set-home --user=${{ inputs.user }} --group=${{ inputs.group }} -- bash -e {0}
- shell: bash
run: tox -e images -- pull "$CONTAINER"
env:
CONTAINER: ${{ inputs.container }}

- id: test
shell: sudo --preserve-env --set-home --user=${{ inputs.user }} --group=${{ inputs.group }} -- bash -e {0}
shell: bash
run: >-
tox -e pytest --
--self-contained-html
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/pip-compile/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ runs:

- shell: bash
run: |
if ! git diff --exit-code --color=always
if ! git diff --exit-code --color=always '--ignore-matching-lines=^# This file is autogenerated by pip-compile with Python '
then
echo "::error:: Python dependencies lock files are out of date. Please run: requirements/pip-compile.sh"
exit 1
Expand Down
11 changes: 8 additions & 3 deletions .github/actions/tox-preinstall/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,17 @@ inputs:
runs:
using: composite
steps:
- shell: bash
run: |
if ! command -V tox
then
sudo apt-get update
sudo apt-get install -y --no-install-recommends tox
fi
Comment on lines +16 to +22
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Good defensive setup for host-based execution.

Installing tox on-demand ensures it's available on ubuntu-slim runners without assuming pre-installed packages. The conditional check prevents unnecessary reinstalls.

💡 Optional: Consider using `command -v` for POSIX portability

While command -V works fine in bash, command -v is more portable:

-        if ! command -V tox
+        if ! command -v tox

Both work here, but -v is the POSIX standard flag for checking command existence.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- shell: bash
run: |
if ! command -V tox
then
sudo apt-get update
sudo apt-get install -y --no-install-recommends tox
fi
- shell: bash
run: |
if ! command -v tox
then
sudo apt-get update
sudo apt-get install -y --no-install-recommends tox
fi
🤖 Prompt for AI Agents
In @.github/actions/tox-preinstall/action.yml around lines 16 - 22, Replace the
non-portable command existence check using "command -V tox" with the
POSIX-standard "command -v tox" in the shell block (the conditional in the
action.yml shell run snippet) so the if-test uses "command -v" to detect tox
before attempting apt-get install; keep the same logic and surrounding commands
(sudo apt-get update / install) unchanged.


- id: tox-problem-matcher
uses: ./.github/actions/generic-problem-matcher

- run: mkdir -p "$HOME/.cache/pip"
shell: bash

- run: tox -v --notest -e "$TOX_ENVLIST"
shell: bash
env:
Expand Down
29 changes: 10 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,16 +105,12 @@ jobs:
lint:
runs-on: ubuntu-24.04
timeout-minutes: 5
container:
image: ghcr.io/ddterm/ci-docker-image:2025.12.05.0

steps:
- name: Checkout
id: checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- run: git config --global --replace-all safe.directory "$GITHUB_WORKSPACE"

- name: Install development dependencies from npm
id: npm
uses: ./.github/actions/npm-install
Expand Down Expand Up @@ -162,19 +158,18 @@ jobs:
bundle:
runs-on: ubuntu-24.04
timeout-minutes: 5
container:
image: ghcr.io/ddterm/ci-docker-image:2025.12.05.0

outputs:
build-inputs: ${{ steps.ninja-inputs.outputs.inputs }}
version: ${{ steps.version.outputs.version }}

steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends tox colorized-logs gjs gettext desktop-file-utils

- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- run: git config --global --replace-all safe.directory "$GITHUB_WORKSPACE"

- name: Install meson
uses: ./.github/actions/setup-meson

Expand Down Expand Up @@ -226,21 +221,23 @@ jobs:

runs-on: ubuntu-24.04
timeout-minutes: 5
container:
image: ghcr.io/ddterm/ci-docker-image:2025.12.05.0

steps:
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends tox colorized-logs

- run: echo /home/linuxbrew/.linuxbrew/bin >>"$GITHUB_PATH"
- run: brew install gettext
Comment on lines +226 to +230
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for gettext version constraints in the project
rg -i "gettext" --type-list | head -20
fd . -type f -name "*.build" -o -name "meson.build" -o -name "*.py" -o -name "*.md" | head -20

Repository: ddterm/gnome-shell-extension-ddterm

Length of output: 639


🏁 Script executed:

#!/bin/bash
# Search for gettext references and version requirements
rg "gettext" --type md --type txt --type python -A 3 -B 3 | head -100

Repository: ddterm/gnome-shell-extension-ddterm

Length of output: 109


🏁 Script executed:

#!/bin/bash
# Check meson.build for gettext configuration
find . -name "meson.build" -type f -exec cat {} \; | grep -A 5 -B 5 "gettext" 2>/dev/null

Repository: ddterm/gnome-shell-extension-ddterm

Length of output: 2455


🏁 Script executed:

#!/bin/bash
# Look for version specifications in the workflow and related files
rg -A 5 -B 5 "gettext|colorized" .github/workflows/ci.yml | head -50

Repository: ddterm/gnome-shell-extension-ddterm

Length of output: 905


Install gettext via apt-get for consistency with other jobs.

The bundle job installs gettext via apt (line 163), but the update-translations job uses Homebrew instead (lines 229-230). Since both jobs run on ubuntu-24.04 and the package is available in Ubuntu's repositories, install it via apt-get to be consistent and avoid the unnecessary Homebrew PATH manipulation.

Suggested change
      - run: sudo apt-get update
-     - run: sudo apt-get install -y --no-install-recommends tox colorized-logs
-
-     - run: echo /home/linuxbrew/.linuxbrew/bin >>"$GITHUB_PATH"
-     - run: brew install gettext
+     - run: sudo apt-get install -y --no-install-recommends tox colorized-logs gettext
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends tox colorized-logs
- run: echo /home/linuxbrew/.linuxbrew/bin >>"$GITHUB_PATH"
- run: brew install gettext
- run: sudo apt-get update
- run: sudo apt-get install -y --no-install-recommends tox colorized-logs gettext
🤖 Prompt for AI Agents
In @.github/workflows/ci.yml around lines 226 - 230, In the update-translations
job you should install gettext via apt like the bundle job does instead of using
Homebrew and PATH hacks: remove the lines that echo
/home/linuxbrew/.linuxbrew/bin >>"$GITHUB_PATH" and brew install gettext and
replace them with a sudo apt-get update (if not already present in that job) and
sudo apt-get install -y --no-install-recommends gettext so the job uses the
distro package manager consistently.


- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- run: git config --global --replace-all safe.directory "$GITHUB_WORKSPACE"

- name: Install meson
uses: ./.github/actions/setup-meson

- name: Prepare build directory
id: setup
run: meson setup '-Dshebang_override=/usr/bin/env gjs' '-Dtests=disabled' build
run: meson setup '-Dshebang_override=/usr/bin/env gjs' '-Dtests=disabled' '-Dtypelib_installer=false' build
shell: pipetty bash -e {0}

- name: Update POTFILES.in
Expand Down Expand Up @@ -290,9 +287,6 @@ jobs:
if: fromJSON(needs.plan.outputs.need-tests)
runs-on: ubuntu-24.04
timeout-minutes: 15
container:
image: ghcr.io/ddterm/ci-docker-image:2025.12.05.0
options: --init --privileged --tmpfs /run -v /tmp:/tmp --cgroupns=host

steps:
- name: Checkout
Expand Down Expand Up @@ -367,9 +361,6 @@ jobs:
if: fromJSON(needs.plan.outputs.need-tests)
runs-on: ubuntu-24.04
timeout-minutes: 15
container:
image: ghcr.io/ddterm/ci-docker-image:2025.12.05.0
options: --init --privileged --tmpfs /run -v /tmp:/tmp --cgroupns=host

steps:
- name: Checkout
Expand Down
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
.tox/
__pycache__/

# do-in-docker.sh/do-in-podman.sh
/.container-home/

# Vagrant
/.vagrant/

Expand Down
26 changes: 0 additions & 26 deletions do-in-docker.sh

This file was deleted.

20 changes: 0 additions & 20 deletions do-in-podman.sh

This file was deleted.

10 changes: 0 additions & 10 deletions docs/Build.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@ GitHub UI provides multiple options for downloading the source code as a `.zip`

## 2. Install the necessary dependencies

> [!TIP]
> Instead of installing all of these dependencies, you could
> [perform the build in a Docker or Podman container].

[perform the build in a Docker or Podman container]: /docs/BuildInContainer.md

To build the extension bundle, you should have the following tools installed:

- [Meson build system] - available as a package named `meson` in most
Expand Down Expand Up @@ -59,10 +53,6 @@ After these steps, you should get the bundle file:
> If the process fails, please double-check that you have all the dependencies
> (2.a) installed.

> [!TIP]
> Instead of installing all of these dependencies, you could
> [perform the build in a Docker or Podman container].

## 4. Install the bundle

> [!TIP]
Expand Down
74 changes: 0 additions & 74 deletions docs/BuildInContainer.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@ useful:

* [How to build and install the project from source][Build.md]

* [Building from source, using CI container image][BuildInContainer.md]

* [Brief architecture description][Architecture.md]

* [Manual testing/debugging][Debug.md]
Expand All @@ -64,7 +62,6 @@ useful:
TODO: add more

[Build.md]: /docs/Build.md
[BuildInContainer.md]: /docs/BuildInContainer.md
[Architecture.md]: /docs/Architecture.md
[Debug.md]: /docs/Debug.md
[Test.md]: /docs/Test.md
Expand Down
10 changes: 0 additions & 10 deletions requirements/pip-compile.sh

This file was deleted.

10 changes: 0 additions & 10 deletions tests/pict/gen.sh

This file was deleted.

Loading