Repository navigation
Build Universal Linux Installer #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Universal Linux Installer | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| jobs: | |
| universal-installer: | |
| name: Universal Linux Installer (.run) | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Verify directory structure | |
| run: | | |
| echo "Verifying new directory structure for installer..." | |
| echo "Current working directory: $(pwd)" | |
| echo "Contents of root directory:" | |
| ls -la | |
| echo "" | |
| echo "Checking main directories:" | |
| if [ -d "src" ]; then | |
| echo "✓ src/ exists" | |
| if [ -d "src/core" ] && [ -d "src/utils" ] && [ -d "src/network" ]; then | |
| echo "✓ src/ subdirectories exist" | |
| else | |
| echo "✗ Missing src/ subdirectories" | |
| exit 1 | |
| fi | |
| else | |
| echo "✗ src/ directory missing" | |
| exit 1 | |
| fi | |
| if [ -d "main" ]; then | |
| echo "✓ main/ exists" | |
| if [ -d "main/business" ] && [ -d "main/hardware" ] && [ -d "main/ui" ] && [ -d "main/data" ]; then | |
| echo "✓ main/ subdirectories exist" | |
| else | |
| echo "✗ Missing main/ subdirectories" | |
| exit 1 | |
| fi | |
| else | |
| echo "✗ main/ directory missing" | |
| exit 1 | |
| fi | |
| if [ -d "scripts" ]; then | |
| echo "✓ scripts/ exists" | |
| if [ -d "scripts/build" ] && [ -d "scripts/install" ] && [ -d "scripts/system" ] && [ -d "scripts/maintenance" ] && [ -d "scripts/tools" ]; then | |
| echo "✓ scripts/ subdirectories exist" | |
| else | |
| echo "✗ Missing scripts/ subdirectories" | |
| exit 1 | |
| fi | |
| else | |
| echo "✗ scripts/ directory missing" | |
| exit 1 | |
| fi | |
| if [ -d "assets" ]; then | |
| echo "✓ assets/ exists" | |
| if [ -d "assets/data" ] && [ -d "assets/images" ]; then | |
| echo "✓ assets/ subdirectories exist" | |
| else | |
| echo "✗ Missing assets/ subdirectories" | |
| exit 1 | |
| fi | |
| else | |
| echo "✗ assets/ directory missing" | |
| exit 1 | |
| fi | |
| echo "Checking other required directories:" | |
| [ -d "config" ] && echo "✓ config/ exists" || echo "✗ config/ missing" | |
| [ -d "docs" ] && echo "✓ docs/ exists" || echo "✗ docs/ missing" | |
| [ -d "fonts" ] && echo "✓ fonts/ exists" || echo "✗ fonts/ missing" | |
| [ -d "external/core" ] && echo "✓ external/core/ exists" || echo "✗ external/core/ missing" | |
| [ -d "packaging/installer" ] && echo "✓ packaging/installer/ exists" || echo "✗ packaging/installer/ missing" | |
| - name: Create Universal Installer | |
| run: | | |
| cd packaging/installer | |
| chmod +x create-universal-installer.sh | |
| ./create-universal-installer.sh | |
| - name: Upload Universal Installer | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: viewtouch-universal-installer | |
| path: installer-build/*.run | |
| - name: Create Release (tag push only) | |
| if: startsWith(github.ref, 'refs/tags/') | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: installer-build/*.run | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |