dda 0.4.4.dev3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dda-0.4.4.dev3/.gitattributes +2 -0
- dda-0.4.4.dev3/.github/dependabot.yml +10 -0
- dda-0.4.4.dev3/.github/workflows/build-distributions.yml +191 -0
- dda-0.4.4.dev3/.github/workflows/build.yml +590 -0
- dda-0.4.4.dev3/.github/workflows/test.yml +93 -0
- dda-0.4.4.dev3/.gitignore +26 -0
- dda-0.4.4.dev3/CHANGELOG.md +67 -0
- dda-0.4.4.dev3/LICENSE.txt +9 -0
- dda-0.4.4.dev3/PKG-INFO +47 -0
- dda-0.4.4.dev3/README.md +17 -0
- dda-0.4.4.dev3/hatch.toml +18 -0
- dda-0.4.4.dev3/pyoxidizer.bzl +82 -0
- dda-0.4.4.dev3/pyproject.toml +246 -0
- dda-0.4.4.dev3/release/README.md +5 -0
- dda-0.4.4.dev3/release/macos/build_pkg.py +119 -0
- dda-0.4.4.dev3/release/macos/pkg/distribution.xml +22 -0
- dda-0.4.4.dev3/release/macos/pkg/resources/icon.png +0 -0
- dda-0.4.4.dev3/release/unix/make_scripts_portable.py +53 -0
- dda-0.4.4.dev3/release/windows/make_scripts_portable.py +92 -0
- dda-0.4.4.dev3/ruff.toml +22 -0
- dda-0.4.4.dev3/ruff_defaults.toml +682 -0
- dda-0.4.4.dev3/src/deva/__init__.py +3 -0
- dda-0.4.4.dev3/src/deva/__main__.py +6 -0
- dda-0.4.4.dev3/src/deva/_version.py +16 -0
- dda-0.4.4.dev3/src/deva/cli/__init__.py +186 -0
- dda-0.4.4.dev3/src/deva/cli/application.py +61 -0
- dda-0.4.4.dev3/src/deva/cli/base.py +231 -0
- dda-0.4.4.dev3/src/deva/cli/config/__init__.py +20 -0
- dda-0.4.4.dev3/src/deva/cli/config/explore/__init__.py +20 -0
- dda-0.4.4.dev3/src/deva/cli/config/find/__init__.py +20 -0
- dda-0.4.4.dev3/src/deva/cli/config/restore/__init__.py +21 -0
- dda-0.4.4.dev3/src/deva/cli/config/set/__init__.py +94 -0
- dda-0.4.4.dev3/src/deva/cli/config/show/__init__.py +22 -0
- dda-0.4.4.dev3/src/deva/cli/env/__init__.py +14 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/__init__.py +24 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/code/__init__.py +39 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/gui/__init__.py +41 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/ls/__init__.py +52 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/remove/__init__.py +42 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/run/__init__.py +49 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/shell/__init__.py +39 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/start/__init__.py +82 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/status/__init__.py +35 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/stop/__init__.py +44 -0
- dda-0.4.4.dev3/src/deva/cli/env/dev/utils.py +43 -0
- dda-0.4.4.dev3/src/deva/cli/inv/__init__.py +59 -0
- dda-0.4.4.dev3/src/deva/cli/self/__init__.py +29 -0
- dda-0.4.4.dev3/src/deva/cli/self/dep/__init__.py +17 -0
- dda-0.4.4.dev3/src/deva/cli/self/dep/lock/Dockerfile +8 -0
- dda-0.4.4.dev3/src/deva/cli/self/dep/lock/__init__.py +69 -0
- dda-0.4.4.dev3/src/deva/cli/self/dep/sync/__init__.py +29 -0
- dda-0.4.4.dev3/src/deva/cli/self/remove/__init__.py +23 -0
- dda-0.4.4.dev3/src/deva/cli/self/restore/__init__.py +23 -0
- dda-0.4.4.dev3/src/deva/cli/self/update/__init__.py +23 -0
- dda-0.4.4.dev3/src/deva/cli/terminal.py +210 -0
- dda-0.4.4.dev3/src/deva/config/__init__.py +3 -0
- dda-0.4.4.dev3/src/deva/config/constants.py +32 -0
- dda-0.4.4.dev3/src/deva/config/file.py +71 -0
- dda-0.4.4.dev3/src/deva/config/model/__init__.py +61 -0
- dda-0.4.4.dev3/src/deva/config/model/env.py +18 -0
- dda-0.4.4.dev3/src/deva/config/model/git.py +43 -0
- dda-0.4.4.dev3/src/deva/config/model/github.py +15 -0
- dda-0.4.4.dev3/src/deva/config/model/orgs.py +16 -0
- dda-0.4.4.dev3/src/deva/config/model/storage.py +31 -0
- dda-0.4.4.dev3/src/deva/config/model/terminal.py +26 -0
- dda-0.4.4.dev3/src/deva/config/utils.py +37 -0
- dda-0.4.4.dev3/src/deva/env/__init__.py +3 -0
- dda-0.4.4.dev3/src/deva/env/dev/__init__.py +59 -0
- dda-0.4.4.dev3/src/deva/env/dev/interface.py +185 -0
- dda-0.4.4.dev3/src/deva/env/dev/types/__init__.py +3 -0
- dda-0.4.4.dev3/src/deva/env/dev/types/linux_container.py +241 -0
- dda-0.4.4.dev3/src/deva/env/models.py +23 -0
- dda-0.4.4.dev3/src/deva/env/shells/__init__.py +45 -0
- dda-0.4.4.dev3/src/deva/env/shells/bash.py +30 -0
- dda-0.4.4.dev3/src/deva/env/shells/interface.py +51 -0
- dda-0.4.4.dev3/src/deva/env/shells/nu.py +47 -0
- dda-0.4.4.dev3/src/deva/env/shells/zsh.py +30 -0
- dda-0.4.4.dev3/src/deva/env/ssh.py +12 -0
- dda-0.4.4.dev3/src/deva/py.typed +0 -0
- dda-0.4.4.dev3/src/deva/tools/__init__.py +29 -0
- dda-0.4.4.dev3/src/deva/tools/base.py +38 -0
- dda-0.4.4.dev3/src/deva/tools/docker.py +19 -0
- dda-0.4.4.dev3/src/deva/tools/uv.py +38 -0
- dda-0.4.4.dev3/src/deva/utils/__init__.py +3 -0
- dda-0.4.4.dev3/src/deva/utils/ci.py +10 -0
- dda-0.4.4.dev3/src/deva/utils/fs.py +84 -0
- dda-0.4.4.dev3/src/deva/utils/platform.py +37 -0
- dda-0.4.4.dev3/src/deva/utils/process.py +135 -0
- dda-0.4.4.dev3/src/deva/utils/retry.py +33 -0
- dda-0.4.4.dev3/src/deva/utils/ssh.py +66 -0
- dda-0.4.4.dev3/src/deva/utils/venv.py +63 -0
- dda-0.4.4.dev3/static-analysis.datadog.yml +1 -0
- dda-0.4.4.dev3/tests/__init__.py +3 -0
- dda-0.4.4.dev3/tests/cli/__init__.py +3 -0
- dda-0.4.4.dev3/tests/cli/config/__init__.py +3 -0
- dda-0.4.4.dev3/tests/cli/config/test_explore.py +12 -0
- dda-0.4.4.dev3/tests/cli/config/test_find.py +15 -0
- dda-0.4.4.dev3/tests/cli/config/test_restore.py +31 -0
- dda-0.4.4.dev3/tests/cli/config/test_set.py +164 -0
- dda-0.4.4.dev3/tests/cli/config/test_show.py +98 -0
- dda-0.4.4.dev3/tests/cli/inv/__init__.py +3 -0
- dda-0.4.4.dev3/tests/cli/inv/test_inv.py +113 -0
- dda-0.4.4.dev3/tests/cli/test_pin.py +50 -0
- dda-0.4.4.dev3/tests/conftest.py +158 -0
- dda-0.4.4.dev3/tests/env/__init__.py +3 -0
- dda-0.4.4.dev3/tests/env/dev/__init__.py +3 -0
- dda-0.4.4.dev3/tests/env/dev/test_interface.py +68 -0
- dda-0.4.4.dev3/tests/env/dev/types/__init__.py +3 -0
- dda-0.4.4.dev3/tests/env/dev/types/test_linux_container.py +740 -0
- dda-0.4.4.dev3/tests/helpers/__init__.py +3 -0
- dda-0.4.4.dev3/tests/helpers/api.py +63 -0
- dda-0.4.4.dev3/tests/utils/__init__.py +3 -0
- dda-0.4.4.dev3/tests/utils/test_fs.py +41 -0
- dda-0.4.4.dev3/tests/utils/test_platform.py +49 -0
- dda-0.4.4.dev3/tests/utils/test_process.py +116 -0
- dda-0.4.4.dev3/tests/utils/test_retry.py +47 -0
- dda-0.4.4.dev3/tests/utils/test_ssh.py +27 -0
- dda-0.4.4.dev3/uv.lock +1979 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
name: build distributions
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call:
|
|
5
|
+
inputs:
|
|
6
|
+
version:
|
|
7
|
+
required: false
|
|
8
|
+
type: string
|
|
9
|
+
|
|
10
|
+
defaults:
|
|
11
|
+
run:
|
|
12
|
+
shell: bash
|
|
13
|
+
|
|
14
|
+
env:
|
|
15
|
+
DIST_URL: "https://github.com/astral-sh/python-build-standalone/releases/download"
|
|
16
|
+
DIST_VERSION: "20241219"
|
|
17
|
+
DIST_PYTHON_VERSION: "3.12.8"
|
|
18
|
+
PYTHONDONTWRITEBYTECODE: "1"
|
|
19
|
+
PIP_ONLY_BINARY: ":all:"
|
|
20
|
+
# Some pip environment variables are weird, this means do not compile
|
|
21
|
+
PIP_NO_COMPILE: "0"
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
ensure-installable:
|
|
25
|
+
name: Ensure released to PyPI
|
|
26
|
+
runs-on: ubuntu-22.04
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Set up Python ${{ env.DIST_PYTHON_VERSION }}
|
|
30
|
+
uses: actions/setup-python@v5
|
|
31
|
+
with:
|
|
32
|
+
python-version: ${{ env.DIST_PYTHON_VERSION }}
|
|
33
|
+
|
|
34
|
+
- name: Install UV
|
|
35
|
+
uses: astral-sh/setup-uv@v5
|
|
36
|
+
|
|
37
|
+
- name: Install from PyPI
|
|
38
|
+
if: inputs.version
|
|
39
|
+
# Try to install the specific version that was just released until successful
|
|
40
|
+
run: |-
|
|
41
|
+
for i in {1..20}; do
|
|
42
|
+
uv pip install --system datadog-agent-dev==${{ inputs.version }} && break || sleep 5
|
|
43
|
+
done
|
|
44
|
+
|
|
45
|
+
linux:
|
|
46
|
+
name: Distribution ${{ matrix.job.target }}
|
|
47
|
+
needs: ensure-installable
|
|
48
|
+
runs-on: ubuntu-22.04
|
|
49
|
+
strategy:
|
|
50
|
+
fail-fast: false
|
|
51
|
+
matrix:
|
|
52
|
+
job:
|
|
53
|
+
- target: x86_64-unknown-linux-gnu
|
|
54
|
+
image: quay.io/pypa/manylinux2014_x86_64
|
|
55
|
+
target-override: x86_64_v3-unknown-linux-gnu
|
|
56
|
+
- target: aarch64-unknown-linux-gnu
|
|
57
|
+
image: quay.io/pypa/manylinux_2_28_aarch64
|
|
58
|
+
emulation: arm64
|
|
59
|
+
|
|
60
|
+
steps:
|
|
61
|
+
- name: Checkout code
|
|
62
|
+
uses: actions/checkout@v4
|
|
63
|
+
with:
|
|
64
|
+
fetch-depth: ${{ inputs.version && 1 || 0 }}
|
|
65
|
+
|
|
66
|
+
- name: Set up QEMU
|
|
67
|
+
if: matrix.job.emulation
|
|
68
|
+
uses: docker/setup-qemu-action@v3
|
|
69
|
+
|
|
70
|
+
- name: Set up Docker container
|
|
71
|
+
run: >-
|
|
72
|
+
docker run --rm -d
|
|
73
|
+
--name builder
|
|
74
|
+
--workdir /home
|
|
75
|
+
--env PYTHONDONTWRITEBYTECODE
|
|
76
|
+
--env PIP_ONLY_BINARY
|
|
77
|
+
--env PIP_NO_COMPILE
|
|
78
|
+
--volume ${{ github.workspace }}:/home/datadog-agent-dev
|
|
79
|
+
${{ matrix.job.image }}
|
|
80
|
+
sleep infinity
|
|
81
|
+
|
|
82
|
+
- name: Download distribution
|
|
83
|
+
run: >-
|
|
84
|
+
docker exec builder
|
|
85
|
+
curl -LO
|
|
86
|
+
${{ env.DIST_URL }}/${{ env.DIST_VERSION }}/cpython-${{ env.DIST_PYTHON_VERSION }}+${{ env.DIST_VERSION }}-${{ matrix.job.target-override || matrix.job.target }}-install_only.tar.gz
|
|
87
|
+
|
|
88
|
+
- name: Unpack distribution
|
|
89
|
+
run: >-
|
|
90
|
+
docker exec builder
|
|
91
|
+
tar xzf cpython-${{ env.DIST_PYTHON_VERSION }}+${{ env.DIST_VERSION }}-${{ matrix.job.target-override || matrix.job.target }}-install_only.tar.gz
|
|
92
|
+
|
|
93
|
+
- name: Install deva
|
|
94
|
+
run: >-
|
|
95
|
+
docker exec builder
|
|
96
|
+
/home/python/bin/python -m pip install
|
|
97
|
+
${{ inputs.version && format('datadog-agent-dev=={0}', inputs.version) || '/home/datadog-agent-dev' }}
|
|
98
|
+
|
|
99
|
+
- name: Make scripts portable
|
|
100
|
+
run: >-
|
|
101
|
+
docker exec builder
|
|
102
|
+
/home/python/bin/python /home/datadog-agent-dev/release/unix/make_scripts_portable.py
|
|
103
|
+
|
|
104
|
+
- name: Strip debug symbols
|
|
105
|
+
run: >-
|
|
106
|
+
docker exec builder
|
|
107
|
+
sh -c "find /home/python -name '*.so' | xargs strip -S"
|
|
108
|
+
|
|
109
|
+
- name: Archive distribution
|
|
110
|
+
run: >-
|
|
111
|
+
docker exec builder
|
|
112
|
+
tar czf deva-dist-${{ matrix.job.target }}.tar.gz python
|
|
113
|
+
|
|
114
|
+
- name: Move to host
|
|
115
|
+
run: docker cp builder:/home/deva-dist-${{ matrix.job.target }}.tar.gz .
|
|
116
|
+
|
|
117
|
+
- name: Check original size
|
|
118
|
+
run: >-
|
|
119
|
+
docker exec builder
|
|
120
|
+
ls -lh cpython-${{ env.DIST_PYTHON_VERSION }}+${{ env.DIST_VERSION }}-${{ matrix.job.target-override || matrix.job.target }}-install_only.tar.gz
|
|
121
|
+
|
|
122
|
+
- name: Check final size
|
|
123
|
+
run: ls -lh deva-dist-${{ matrix.job.target }}.tar.gz
|
|
124
|
+
|
|
125
|
+
- name: Upload archive
|
|
126
|
+
uses: actions/upload-artifact@v4
|
|
127
|
+
with:
|
|
128
|
+
name: distribution-${{ matrix.job.target }}
|
|
129
|
+
path: deva-dist-${{ matrix.job.target }}.tar.gz
|
|
130
|
+
|
|
131
|
+
windows-macos:
|
|
132
|
+
name: Distribution ${{ matrix.job.target }}
|
|
133
|
+
needs: ensure-installable
|
|
134
|
+
runs-on: ${{ matrix.job.os }}
|
|
135
|
+
strategy:
|
|
136
|
+
fail-fast: false
|
|
137
|
+
matrix:
|
|
138
|
+
job:
|
|
139
|
+
- target: x86_64-pc-windows-msvc
|
|
140
|
+
os: windows-2019
|
|
141
|
+
- target: aarch64-apple-darwin
|
|
142
|
+
os: macos-14
|
|
143
|
+
- target: x86_64-apple-darwin
|
|
144
|
+
os: macos-13
|
|
145
|
+
|
|
146
|
+
steps:
|
|
147
|
+
- name: Checkout code
|
|
148
|
+
uses: actions/checkout@v4
|
|
149
|
+
with:
|
|
150
|
+
fetch-depth: ${{ inputs.version && 1 || 0 }}
|
|
151
|
+
|
|
152
|
+
- name: Download distribution
|
|
153
|
+
run: curl -LO ${{ env.DIST_URL }}/${{ env.DIST_VERSION }}/cpython-${{ env.DIST_PYTHON_VERSION }}+${{ env.DIST_VERSION }}-${{ matrix.job.target }}-install_only.tar.gz
|
|
154
|
+
|
|
155
|
+
- name: Unpack distribution
|
|
156
|
+
run: tar xzf cpython-${{ env.DIST_PYTHON_VERSION }}+${{ env.DIST_VERSION }}-${{ matrix.job.target }}-install_only.tar.gz
|
|
157
|
+
|
|
158
|
+
- name: Install deva
|
|
159
|
+
run: >-
|
|
160
|
+
${{ startsWith(matrix.job.os, 'windows-') && '.\\python\\python.exe' || './python/bin/python' }}
|
|
161
|
+
-m pip install
|
|
162
|
+
${{ inputs.version && format('datadog-agent-dev=={0}', inputs.version) || '.' }}
|
|
163
|
+
|
|
164
|
+
- name: Make scripts portable
|
|
165
|
+
run: >-
|
|
166
|
+
${{ startsWith(matrix.job.os, 'windows-') && '.\\python\\python.exe' || './python/bin/python' }}
|
|
167
|
+
release/${{ startsWith(matrix.job.os, 'windows-') && 'windows' || 'unix' }}/make_scripts_portable.py
|
|
168
|
+
|
|
169
|
+
- name: Strip debug symbols
|
|
170
|
+
if: startsWith(matrix.job.os, 'macos-')
|
|
171
|
+
run: find python -name '*.so' | xargs strip -S
|
|
172
|
+
|
|
173
|
+
- name: Remove debug symbols
|
|
174
|
+
if: startsWith(matrix.job.os, 'windows-')
|
|
175
|
+
run: Get-ChildItem -Path python -Filter "*.pdb" -Recurse | Remove-Item
|
|
176
|
+
shell: pwsh
|
|
177
|
+
|
|
178
|
+
- name: Archive distribution
|
|
179
|
+
run: tar czf deva-dist-${{ matrix.job.target }}.tar.gz python
|
|
180
|
+
|
|
181
|
+
- name: Check original size
|
|
182
|
+
run: ls -lh cpython-${{ env.DIST_PYTHON_VERSION }}+${{ env.DIST_VERSION }}-${{ matrix.job.target }}-install_only.tar.gz
|
|
183
|
+
|
|
184
|
+
- name: Check final size
|
|
185
|
+
run: ls -lh deva-dist-${{ matrix.job.target }}.tar.gz
|
|
186
|
+
|
|
187
|
+
- name: Upload archive
|
|
188
|
+
uses: actions/upload-artifact@v4
|
|
189
|
+
with:
|
|
190
|
+
name: distribution-${{ matrix.job.target }}
|
|
191
|
+
path: deva-dist-${{ matrix.job.target }}.tar.gz
|