Revert "Update PHP and MariaDB versions: remove EOL, prioritize LTS, β¦ #27
Workflow file for this run
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: π Release Extension | |
| on: | |
| push: | |
| tags: | |
| - 'v*.*.*' | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Release version (e.g., v1.0.1)' | |
| required: true | |
| default: 'v1.1.0' | |
| jobs: | |
| release: | |
| name: π¦ Build and Release VSIX | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: π₯ Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: π§ Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| cache: 'npm' | |
| - name: π¦ Install Dependencies | |
| run: npm ci | |
| # Skip tests for now - they require display/GUI | |
| # - name: π§ͺ Run Tests (Optional) | |
| # run: npm run test --if-present | |
| # continue-on-error: true | |
| - name: ποΈ Build Extension | |
| run: | | |
| npm run compile | |
| npm run package | |
| - name: π Package Extension | |
| run: | | |
| # Install vsce globally | |
| npm install -g @vscode/vsce | |
| # Create VSIX package (repository info already in package.json) | |
| vsce package | |
| # Get package info | |
| PACKAGE_VERSION=$(node -p "require('./package.json').version") | |
| PACKAGE_NAME=$(node -p "require('./package.json').name") | |
| echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> $GITHUB_ENV | |
| echo "PACKAGE_NAME=${PACKAGE_NAME}" >> $GITHUB_ENV | |
| echo "VSIX_FILE=${PACKAGE_NAME}-${PACKAGE_VERSION}.vsix" >> $GITHUB_ENV | |
| # Verify VSIX file exists | |
| ls -la *.vsix | |
| echo "Created VSIX: $(ls *.vsix)" | |
| - name: π Generate Changelog | |
| id: changelog | |
| run: | | |
| PACKAGE_VERSION=$(node -p "require('./package.json').version") | |
| cat > RELEASE_NOTES.md << EOF | |
| ## π REDAXO Multi-Instances Manager v${PACKAGE_VERSION} | |
| ### β¨ Features | |
| - ποΈ **Multi-Instance Management** - Erstellen, starten, stoppen und lΓΆschen von REDAXO-Instanzen | |
| - π **SSL/HTTPS Support** - Automatische SSL-Zertifikate mit mkcert | |
| - π³ **Docker Integration** - VollstΓ€ndig containerisierte Umgebung | |
| - π **Dashboard** - Modernes Webview-Dashboard | |
| - π **Login-Informationen** - Automatische Anzeige von Zugangsdaten und URLs | |
| - π± **TreeView** - Seitenleiste mit allen Instanzen und deren Status | |
| ### π§ Technical Features | |
| - **PHP Support** - PHP 7.4, 8.1, 8.2, 8.3, 8.4, 8.5 | |
| - **MariaDB Support** - Verschiedene MariaDB-Versionen (10.6 - 11.2) | |
| - **Port Management** - Automatische Port-Zuweisung | |
| - **SSL Zertifikate** - Lokale Entwicklungszertifikate | |
| - **Docker Compose** - Automatische Container-Orchestrierung | |
| ### π₯ Installation | |
| #### Option 1: VSIX Package (Empfohlen) | |
| 1. VSIX-Datei aus diesem Release herunterladen | |
| 2. VS Code ΓΆffnen | |
| 3. \`Cmd+Shift+P\` β "Extensions: Install from VSIX" | |
| 4. VSIX-Datei auswΓ€hlen und installieren | |
| #### Option 2: Repository klonen | |
| \`\`\`bash | |
| git clone https://github.com/FriendsOfREDAXO/redaxo-multi-instances-vscode.git | |
| cd redaxo-multi-instances-vscode | |
| npm install && npm run compile | |
| \`\`\` | |
| ### π SSL Setup (Optional) | |
| \`\`\`bash | |
| # macOS | |
| brew install mkcert nss && mkcert -install | |
| # Linux | |
| sudo apt install libnss3-tools && mkcert -install | |
| \`\`\` | |
| ### π Erste Schritte | |
| 1. \`Cmd+Shift+P\` β \`REDAXO: Show Dashboard\` | |
| 2. \`REDAXO: Create New Instance\` | |
| 3. Instanz konfigurieren (Name, PHP-Version, SSL) | |
| 4. Automatisch generierte URLs verwenden | |
| ### π Support | |
| - **Issues**: [GitHub Issues](https://github.com/FriendsOfREDAXO/redaxo-multi-instances-vscode/issues) | |
| - **Community**: [REDAXO Slack](https://redaxo.org/slack/) | |
| --- | |
| **Made with β€οΈ for the REDAXO Community** | |
| EOF | |
| echo "Release notes created:" | |
| cat RELEASE_NOTES.md | |
| - name: π·οΈ Create Release | |
| id: create_release | |
| uses: softprops/action-gh-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: ${{ github.ref_name || github.event.inputs.version }} | |
| name: π REDAXO Multi-Instances Manager ${{ github.ref_name || github.event.inputs.version }} | |
| body_path: RELEASE_NOTES.md | |
| draft: false | |
| prerelease: false | |
| files: "*.vsix" | |
| - name: π Release Summary | |
| run: | | |
| echo "## π Release Summary" >> $GITHUB_STEP_SUMMARY | |
| echo "| | |" >> $GITHUB_STEP_SUMMARY | |
| echo "|---|---|" >> $GITHUB_STEP_SUMMARY | |
| echo "| **Version** | $(node -p 'require(\"./package.json\").version') |" >> $GITHUB_STEP_SUMMARY | |
| echo "| **Package** | $(ls *.vsix) |" >> $GITHUB_STEP_SUMMARY | |
| echo "| **Size** | $(du -h *.vsix | cut -f1) |" >> $GITHUB_STEP_SUMMARY | |
| echo "| **Release** | [${{ github.ref_name || github.event.inputs.version }}](https://github.com/FriendsOfREDAXO/redaxo-multi-instances-vscode/releases/tag/${{ github.ref_name || github.event.inputs.version }}) |" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### π₯ Installation" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY | |
| echo "# Download VSIX from release" >> $GITHUB_STEP_SUMMARY | |
| echo "# VS Code: Cmd+Shift+P β 'Extensions: Install from VSIX'" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| # Optional: Auto-publish to VS Code Marketplace | |
| # publish: | |
| # name: π€ Publish to Marketplace | |
| # needs: release | |
| # runs-on: ubuntu-latest | |
| # if: startsWith(github.ref, 'refs/tags/v') | |
| # | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # - uses: actions/setup-node@v4 | |
| # with: | |
| # node-version: '18' | |
| # cache: 'npm' | |
| # | |
| # - run: npm ci | |
| # - run: npm install -g @vscode/vsce | |
| # | |
| # - name: π Publish to Marketplace | |
| # run: vsce publish -p ${{ secrets.VSCE_PAT }} |