name: Build & Test Infinito.Nexus CLI in Docker Container on: push: branches: - master pull_request: jobs: test-deploy: runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Build Docker image run: | docker build --network=host --pull -t infinito:latest . # 1) First deploy: normal + debug - name: First deploy (normal + debug) run: | docker run --network=host --rm \ infinito:latest \ /bin/sh -lc ' set -e cd /opt/infinito-src # Create inventory (also creates inventories/github-ci/.password if missing) infinito create inventory inventories/github-ci \ --host localhost \ --ssl-disabled INVENTORY_PATH="inventories/github-ci/servers.yml" VAULT_FILE="inventories/github-ci/.password" # First deploy with debug infinito deploy "$INVENTORY_PATH" -T server -p "$VAULT_FILE" --debug ' # 2) Second deploy: reset + debug - name: Second deploy (--reset --debug) run: | docker run --network=host --rm \ infinito:latest \ /bin/sh -lc ' set -e cd /opt/infinito-src # Rebuild inventory; .password will be reused if present infinito create inventory inventories/github-ci \ --host localhost \ --ssl-disabled INVENTORY_PATH="inventories/github-ci/servers.yml" VAULT_FILE="inventories/github-ci/.password" infinito deploy "$INVENTORY_PATH" -T server -p "$VAULT_FILE" --skip-tests --reset --debug ' # 3) Third deploy: async (no debug) - name: Third deploy (async deploy – no debug) run: | docker run --network=host --rm \ infinito:latest \ /bin/sh -lc ' set -e cd /opt/infinito-src infinito create inventory inventories/github-ci \ --host localhost \ --ssl-disabled INVENTORY_PATH="inventories/github-ci/servers.yml" VAULT_FILE="inventories/github-ci/.password" # Async-style deploy: no --debug, so some processes run in parallel infinito deploy "$INVENTORY_PATH" -T server -p "$VAULT_FILE" --skip-tests '