added arm64 support in web page #6
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: Test HTML Installation Pages | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| paths: | |
| - 'debian/repositories/*.html' | |
| - 'debian/repositories/test_from_html.sh' | |
| pull_request: | |
| branches: [ main ] | |
| paths: | |
| - 'debian/repositories/*.html' | |
| - 'debian/repositories/test_from_html.sh' | |
| workflow_dispatch: | |
| jobs: | |
| test-html-pages: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| html_file: | |
| - stable_packages_page.html | |
| - nightly_packages_page.html | |
| - unstable_packages_page.html | |
| distro: | |
| - ubuntu:focal | |
| - ubuntu:24.04 | |
| - debian:bullseye | |
| fail-fast: false | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Daemon | |
| run: | | |
| sudo systemctl start docker | |
| sudo usermod -aG docker $USER | |
| # Verify Docker is working | |
| docker --version | |
| docker info | |
| - name: Enable Docker-in-Docker | |
| run: | | |
| # Start Docker daemon with privileged mode support | |
| sudo dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2376 & | |
| sleep 5 | |
| # Verify Docker daemon is running | |
| docker ps | |
| - name: Make test script executable | |
| run: chmod +x debian/repositories/test_from_html.sh | |
| - name: Test ${{ matrix.html_file }} on ${{ matrix.distro }} | |
| run: | | |
| cd debian/repositories | |
| echo "🧪 Testing ${{ matrix.html_file }} on ${{ matrix.distro }}" | |
| ./test_from_html.sh --html ${{ matrix.html_file }} --distro ${{ matrix.distro }} | |
| timeout-minutes: 20 | |
| - name: Verify Mina installation in container | |
| if: success() | |
| run: | | |
| cd debian/repositories | |
| echo "🔍 Verifying Mina installation worked correctly..." | |
| # Get the container name from the last test run | |
| CONTAINER_NAME=$(docker ps -a --format "table {{.Names}}" | grep mina_html_test | head -1) | |
| if [ -n "$CONTAINER_NAME" ]; then | |
| echo "📦 Checking installed Mina packages:" | |
| docker exec $CONTAINER_NAME dpkg -l | grep mina || echo "No Mina packages found" | |
| echo "🔧 Checking if Mina command is available:" | |
| docker exec $CONTAINER_NAME which mina || echo "Mina command not found in PATH" | |
| echo "📋 Checking Mina version:" | |
| docker exec $CONTAINER_NAME mina version || echo "Could not get Mina version" | |
| # Clean up the container | |
| docker rm $CONTAINER_NAME | |
| else | |
| echo "⚠️ No test container found to verify" | |
| fi | |
| - name: Show commands for ${{ matrix.html_file }} (on failure) | |
| if: failure() | |
| run: | | |
| cd debian/repositories | |
| echo "=== Commands extracted from ${{ matrix.html_file }} ===" | |
| ./test_from_html.sh --html ${{ matrix.html_file }} --show-commands || true | |
| echo "=== Docker containers (for debugging) ===" | |
| docker ps -a | grep mina_html_test || echo "No test containers found" | |
| - name: Cleanup failed containers | |
| if: always() | |
| run: | | |
| # Clean up any remaining test containers | |
| docker ps -a --format "table {{.Names}}" | grep mina_html_test | xargs -r docker rm -f || true |