Skip to content

Commit 3ab9dff

Browse files
authored
Merge pull request #1 from StackVista/STAC-0
STAC-0 Fixed non-PR and non-release github actions.
2 parents 65183b2 + 444e24e commit 3ab9dff

18 files changed

Lines changed: 601 additions & 252 deletions

.flake8

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[flake8]
2+
max-line-length = 127
3+
max-complexity = 10
4+
exclude = .git,__pycache__,build,dist,.venv,venv,*.egg-info,.eggs,.mypy_cache,.tox
5+
ignore = E501,W503,E203

.github/workflows/build.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ name: Build and Release Cross-Platform Executables
22

33
on:
44
push:
5-
branches: [ main, master ]
65
tags: [ 'v*' ]
76
pull_request:
8-
branches: [ main, master ]
97

108
jobs:
119
build:
@@ -107,12 +105,27 @@ jobs:
107105
path: artifacts/
108106

109107
- name: Create release
110-
uses: softprops/action-gh-release@v1
111-
with:
112-
files: artifacts/**/*
113-
generate_release_notes: true
114-
draft: false
115-
prerelease: false
108+
run: |
109+
# Generate release notes from commits
110+
RELEASE_NOTES=$(gh api repos/${{ github.repository }}/releases/generate-notes \
111+
--field tag_name=${{ github.ref_name }} \
112+
--field target_commitish=${{ github.ref_name }} \
113+
--jq .body)
114+
115+
# Create release using GitHub CLI
116+
gh release create ${{ github.ref_name }} \
117+
--title "SUSE Observability Integrations Finder ${{ github.ref_name }}" \
118+
--notes "$RELEASE_NOTES" \
119+
--draft=false \
120+
--prerelease=false
121+
122+
# Upload artifacts to the release
123+
for artifact in artifacts/*; do
124+
if [ -f "$artifact" ]; then
125+
echo "Uploading $artifact to release..."
126+
gh release upload ${{ github.ref_name }} "$artifact"
127+
fi
128+
done
116129
env:
117130
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
118131

.github/workflows/test.yml

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ name: Test
22

33
on:
44
push:
5-
branches: [ main, master ]
65
pull_request:
7-
branches: [ main, master ]
86

97
jobs:
108
test:
@@ -24,21 +22,9 @@ jobs:
2422
python -m pip install --upgrade pip
2523
pip install -r requirements.txt
2624
27-
- name: Run tests
25+
- name: Run CI tests
2826
run: |
29-
python test_finder.py
30-
31-
- name: Test CLI help
32-
run: |
33-
python integrations_finder.py --help
34-
35-
- name: Test demo
36-
run: |
37-
python demo.py
38-
39-
- name: Verify imports
40-
run: |
41-
python -c "from integrations_finder import IntegrationsFinder; print('✅ All imports successful')"
27+
python test_ci.py
4228
4329
lint:
4430
runs-on: ubuntu-latest

BUILD.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ The project includes two GitHub Actions workflows:
198198
#### Automated Release
199199
1. **Create a tag**: `git tag v1.0.0 && git push origin v1.0.0`
200200
2. **Automatic build**: GitHub Actions builds all platform executables
201-
3. **Automatic release**: Creates GitHub release with downloadable packages
202-
4. **Release notes**: Automatically generated from commits
201+
3. **Automatic release**: Creates GitHub release with downloadable packages using GitHub CLI
202+
4. **Release notes**: Automatically generated from commits using GitHub API
203203

204204
#### Using the Release Script
205205
```bash

README.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,19 @@ A tool to trace from SUSE Observability Agent container tags to the correspondin
1616

1717
1. **Install dependencies:**
1818
```bash
19+
# CLI only (recommended for servers/CI)
1920
pip install -r requirements.txt
21+
22+
# CLI + GUI (requires PyQt6)
23+
pip install -r requirements-gui.txt
2024
```
2125

2226
2. **Run the tool:**
2327
```bash
2428
# CLI mode
2529
python integrations_finder.py find <agent_sha_or_container_path>
2630

27-
# GUI mode
31+
# GUI mode (requires PyQt6)
2832
python integrations_finder.py gui
2933
```
3034

@@ -112,12 +116,25 @@ The tool can extract 8-character git SHAs from various formats:
112116
- **macOS**: x86_64, aarch64 (Apple Silicon)
113117
- **Windows**: x86_64
114118

119+
### Icon Support
120+
121+
The build system supports application icons for different platforms:
122+
- **Linux**: PNG format (automatically handled)
123+
- **Windows**: ICO format (automatically converted from PNG)
124+
- **macOS**: ICNS format (when available)
125+
126+
Icons are automatically detected and used based on platform requirements. The `convert_icon.py` script can be used to manually convert formats if needed.
127+
128+
**Note**: Pillow is included in the main requirements to support icon conversion and potential future image processing features.
129+
115130
### Build Methods
116131

117132
1. **Direct Build**: `python build.py <platform>-<arch>`
118133
2. **Docker Build**: `./build-docker.sh <platform>-<arch>`
119134
3. **Makefile**: `make build-<platform>-<arch>`
120135

136+
**Note**: Windows builds use Python's built-in `zipfile` module for packaging, ensuring compatibility across all Windows environments.
137+
121138
### Quick Build Commands
122139

123140
```bash
@@ -187,8 +204,8 @@ The project includes GitHub Actions workflows that automatically:
187204
### **Release Process**
188205
1. **Create a tag**: `git tag v1.0.0 && git push origin v1.0.0`
189206
2. **Automatic build**: GitHub Actions builds all platform executables
190-
3. **Automatic release**: Creates GitHub release with downloadable packages
191-
4. **Release notes**: Automatically generated from commits
207+
3. **Automatic release**: Creates GitHub release with downloadable packages using GitHub CLI
208+
4. **Release notes**: Automatically generated from commits using GitHub API
192209

193210
### **Artifacts**
194211
- **Build artifacts**: Available for 30 days on all builds

assets/images/logo.ico

941 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)