Skip to content

Commit e496792

Browse files
committed
tmp
1 parent fbc5c97 commit e496792

File tree

1 file changed

+12
-309
lines changed

1 file changed

+12
-309
lines changed

.github/workflows/development.yml

Lines changed: 12 additions & 309 deletions
Original file line numberDiff line numberDiff line change
@@ -5,76 +5,6 @@ on:
55
types: [opened, synchronize, reopened]
66

77
jobs:
8-
quality-checks:
9-
runs-on: ubuntu-latest
10-
strategy:
11-
matrix:
12-
python: ["3.9", "3.13"]
13-
steps:
14-
- uses: actions/checkout@v4
15-
- name: Set up Python
16-
uses: actions/setup-python@v5
17-
with:
18-
python-version: ${{ matrix.python }}
19-
- name: Install dependencies
20-
run: pip install tox
21-
- name: Run quality checks
22-
run: tox -e quality
23-
24-
ui-quality-checks:
25-
permissions:
26-
contents: "read"
27-
runs-on: ubuntu-latest
28-
steps:
29-
- name: Check out code
30-
uses: actions/checkout@v3
31-
32-
- name: Set up Node.js 22
33-
uses: actions/setup-node@v4
34-
with:
35-
node-version: '22'
36-
37-
- name: Install dependencies
38-
run: npm ci
39-
40-
- name: Run quality and typing checks
41-
run: npm run lint
42-
43-
type-checks:
44-
runs-on: ubuntu-latest
45-
strategy:
46-
matrix:
47-
python: ["3.9", "3.13"]
48-
steps:
49-
- uses: actions/checkout@v4
50-
- name: Set up Python
51-
uses: actions/setup-python@v5
52-
with:
53-
python-version: ${{ matrix.python }}
54-
- name: Install dependencies
55-
run: pip install tox
56-
- name: Run quality checks
57-
run: tox -e types
58-
59-
ui-type-checks:
60-
permissions:
61-
contents: "read"
62-
runs-on: ubuntu-latest
63-
steps:
64-
- name: Check out code
65-
uses: actions/checkout@v3
66-
67-
- name: Set up Node.js 22
68-
uses: actions/setup-node@v4
69-
with:
70-
node-version: '22'
71-
72-
- name: Install dependencies
73-
run: npm ci
74-
75-
- name: Run quality and typing checks
76-
run: npm run type-check
77-
788
precommit-checks:
799
runs-on: ubuntu-latest
8010
strategy:
@@ -88,244 +18,17 @@ jobs:
8818
python-version: ${{ matrix.python }}
8919
- name: Install dependencies
9020
run: pip install pre-commit
91-
- name: Run pre-commit checks
92-
run: SKIP=ruff-format pre-commit run --all-files
93-
94-
ui-precommit-checks:
95-
permissions:
96-
contents: "read"
97-
runs-on: ubuntu-latest
98-
steps:
99-
- name: Check out code
100-
uses: actions/checkout@v3
101-
102-
- name: Set up Node.js 22
103-
uses: actions/setup-node@v4
104-
with:
105-
node-version: '22'
106-
107-
- name: Install dependencies
108-
run: npm ci
109-
110-
- name: Run pre-commit checks
111-
run: npx husky run pre-commit
112-
113-
unit-tests:
114-
runs-on: ubuntu-latest
115-
strategy:
116-
matrix:
117-
python: ["3.9", "3.13"]
118-
steps:
119-
- uses: actions/checkout@v4
120-
- name: Set up Python
121-
uses: actions/setup-python@v5
122-
with:
123-
python-version: ${{ matrix.python }}
124-
- name: Install dependencies
125-
run: pip install tox
126-
- name: Run unit tests
127-
run: tox -e test-unit -- -m "smoke or sanity"
128-
129-
ui-unit-tests:
130-
permissions:
131-
contents: "read"
132-
runs-on: ubuntu-latest
133-
steps:
134-
- name: Check out code
135-
uses: actions/checkout@v3
136-
137-
- name: Set up Node.js 22
138-
uses: actions/setup-node@v4
139-
with:
140-
node-version: '22'
141-
142-
- name: Install dependencies
143-
run: npm ci
144-
145-
- name: Run unit tests
146-
run: npm run test:unit
147-
148-
integration-tests:
149-
runs-on: ubuntu-latest
150-
strategy:
151-
matrix:
152-
python: ["3.9", "3.13"]
153-
steps:
154-
- uses: actions/checkout@v4
155-
- name: Set up Python
156-
uses: actions/setup-python@v5
157-
with:
158-
python-version: ${{ matrix.python }}
159-
- name: Install dependencies
160-
run: pip install tox
161-
- name: Run integration tests
162-
run: tox -e test-integration -- -m smoke
163-
164-
ui-integration-tests:
165-
permissions:
166-
contents: "read"
167-
runs-on: ubuntu-latest
168-
steps:
169-
- name: Check out code
170-
uses: actions/checkout@v3
171-
172-
- name: Set up Node.js 22
173-
uses: actions/setup-node@v4
174-
with:
175-
node-version: '22'
176-
177-
- name: Install dependencies
178-
run: npm ci
179-
180-
- name: Run integration tests
181-
run: npm run test:integration
182-
183-
build:
184-
runs-on: ubuntu-latest
185-
strategy:
186-
matrix:
187-
python: ["3.9"]
188-
steps:
189-
- name: Checkout code
190-
uses: actions/checkout@v4
191-
with:
192-
fetch-depth: 0
193-
- name: Set up Python
194-
uses: actions/setup-python@v5
195-
with:
196-
python-version: ${{ matrix.python }}
197-
- name: Install dependencies
198-
run: pip install tox
199-
- name: Build the package
200-
run: |
201-
export GUIDELLM_BUILD_TYPE=dev
202-
export GUIDELLM_BUILD_ITERATION=${{ github.event.pull_request.number }}
203-
tox -e build
204-
- name: Upload build artifacts
205-
id: artifact-upload
206-
uses: actions/upload-artifact@v4
207-
with:
208-
name: build-artifacts
209-
path: dist/*
210-
compression-level: 6
211-
if-no-files-found: error
212-
retention-days: 30
213-
- name: Generate GitHub App token
214-
id: app-token
215-
uses: actions/create-github-app-token@v1
216-
with:
217-
app-id: ${{ secrets.GH_NM_REDHAT_AUTOMATION_APP_ID }}
218-
private-key: ${{ secrets.GH_NM_REDHAT_AUTOMATION_APP_PRIVATE_KEY }}
219-
- name: Comment Install instructions
220-
uses: actions/github-script@v7
221-
with:
222-
github-token: ${{ steps.app-token.outputs.token }}
223-
script: |
224-
github.rest.issues.createComment({
225-
issue_number: context.issue.number,
226-
owner: context.repo.owner,
227-
repo: context.repo.repo,
228-
body: `📦 **Build Artifacts Available**
229-
The build artifacts (\`.whl\` and \`.tar.gz\`) have been successfully generated and are available for download: ${{ steps.artifact-upload.outputs.artifact-url }}.
230-
They will be retained for **up to 30 days**.
231-
`
232-
})
233-
234-
ui-pr-preview:
235-
needs: [ui-quality-checks, ui-precommit-checks, ui-unit-tests, ui-integration-tests]
236-
permissions:
237-
contents: write
238-
pull-requests: write
239-
issues: write
240-
runs-on: ubuntu-latest
241-
steps:
242-
- name: Check out code
243-
uses: actions/checkout@v3
244-
with:
245-
fetch-depth: 0
246-
247-
- name: Check if UI-related files changed
248-
id: check-changes
249-
run: |
250-
BASE_BRANCH=${{ github.event.pull_request.base.ref }}
251-
CHANGED_FILES=$(git diff --name-only origin/$BASE_BRANCH...HEAD)
252-
SHOULD_BUILD=false
253-
254-
if echo "$CHANGED_FILES" | grep -q "^src/ui/"; then
255-
echo "UI source files changed"
256-
SHOULD_BUILD=true
257-
fi
258-
259-
echo "should_build=$SHOULD_BUILD" >> $GITHUB_OUTPUT
260-
echo "Should build: $SHOULD_BUILD"
261-
262-
- name: Install dependencies
263-
if: steps.check-changes.outputs.should_build == 'true'
264-
run: npm ci
265-
266-
- name: Build app to root
267-
if: steps.check-changes.outputs.should_build == 'true'
268-
id: build
21+
- name: Dump .env.local tail (hex + ASCII)
26922
run: |
270-
# Export vars to ensure they are loaded before build
271-
export $(grep -v '^#' .env.development | xargs)
272-
273-
PR_NUMBER=${{ github.event.pull_request.number }}
274-
echo "pr_number=${PR_NUMBER}" >> $GITHUB_OUTPUT
275-
276-
# Set asset prefix and base path with PR number
277-
ASSET_PREFIX=https://neuralmagic.github.io/guidellm/ui/pr/${PR_NUMBER}
278-
USE_MOCK_DATA=true
279-
BASE_PATH=/ui/pr/${PR_NUMBER}
280-
GIT_SHA=${{ github.sha }}
281-
export ASSET_PREFIX=${ASSET_PREFIX}
282-
export BASE_PATH=${BASE_PATH}
283-
export GIT_SHA=${GIT_SHA}
284-
export USE_MOCK_DATA=${USE_MOCK_DATA}
285-
npm run build
286-
287-
- name: Deploy to GitHub Pages
288-
if: steps.check-changes.outputs.should_build == 'true'
289-
uses: peaceiris/actions-gh-pages@v3
290-
with:
291-
github_token: ${{ secrets.GITHUB_TOKEN }}
292-
publish_dir: ./src/ui/out
293-
destination_dir: ui/pr/${{ steps.build.outputs.pr_number }}
294-
keep_files: false
295-
user_name: ${{ github.actor }}
296-
user_email: ${{ github.actor }}@users.noreply.github.com
297-
publish_branch: gh-pages
298-
commit_message: 'build: Deploy preview build for PR #${{ github.event.pull_request.number }}'
299-
300-
- name: Set deployment url
301-
if: steps.check-changes.outputs.should_build == 'true'
302-
id: deploy
23+
echo '--- od -c tail ---'
24+
od -c -A n -v src/ui/.env.local | tail -n 3
25+
echo '--- od -tx1 last two bytes ---'
26+
od -tx1 -A n -v -j $(($(stat -c%s src/ui/.env.local)-2)) -N2 src/ui/.env.local
27+
echo '--- git eol info ---'
28+
git ls-files --eol -- src/ui/.env.local
29+
echo '--- git attributes ---'
30+
git check-attr -a -- src/ui/.env.local
31+
- name: Run end-of-file-fixer only, verbose
30332
run: |
304-
DEPLOY_URL=https://neuralmagic.github.io/guidellm/ui/pr/${{ steps.build.outputs.pr_number }}
305-
echo "url=${DEPLOY_URL}" >> $GITHUB_OUTPUT
306-
307-
- name: Find PR comment
308-
if: steps.check-changes.outputs.should_build == 'true'
309-
uses: peter-evans/find-comment@v2
310-
id: find-comment
311-
with:
312-
token: ${{ secrets.GITHUB_TOKEN }}
313-
issue-number: ${{ github.event.pull_request.number }}
314-
body-includes: '<!-- pr-preview-comment -->'
315-
316-
- name: Post Deployment URL to PR
317-
if: steps.check-changes.outputs.should_build == 'true'
318-
uses: peter-evans/create-or-update-comment@v3
319-
with:
320-
token: ${{ secrets.GITHUB_TOKEN }}
321-
comment-id: ${{ steps.find-comment.outputs.comment-id }}
322-
issue-number: ${{ github.event.pull_request.number }}
323-
edit-mode: replace
324-
body: |
325-
<!-- pr-preview-comment -->
326-
🎉 **Live Preview:** [Click here to view the live version](${{ steps.deploy.outputs.url }})
327-
*Last updated: ${{ github.sha }}*
328-
329-
- name: Skip build notification
330-
if: steps.check-changes.outputs.should_build == 'false'
331-
run: echo "Skipping UI preview build - no relevant files changed"
33+
pre-commit run end-of-file-fixer --files src/ui/.env.local --verbose --color always || true
34+
echo "--- exit code: $?" # we expect 1 if it rewrote

0 commit comments

Comments
 (0)