chore(deps): update pip-requirements #3154
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: CI | |
| on: | |
| push: | |
| paths-ignore: | |
| - '.github/**' | |
| - '*.md' | |
| - '.gitignore' | |
| - 'roles/backup/**' | |
| - 'roles/backup2/**' | |
| - 'roles/restore/**' | |
| - 'roles/settings/**' | |
| - 'roles/nvidia/**' | |
| - 'roles/plex_extra_tasks/**' | |
| - 'roles/plex_auth_token/**' | |
| - 'roles/plex_db/**' | |
| - 'roles/arr_db/**' | |
| - 'roles/diag/**' | |
| branches-ignore: | |
| - 'dependabot/**' | |
| pull_request: | |
| paths-ignore: | |
| - '.github/**' | |
| - '*.md' | |
| - '.gitignore' | |
| - 'roles/backup/**' | |
| - 'roles/backup2/**' | |
| - 'roles/restore/**' | |
| - 'roles/settings/**' | |
| - 'roles/nvidia/**' | |
| - 'roles/plex_extra_tasks/**' | |
| - 'roles/plex_auth_token/**' | |
| - 'roles/plex_db/**' | |
| - 'roles/arr_db/**' | |
| - 'roles/diag/**' | |
| workflow_dispatch: | |
| jobs: | |
| ansible-lint: | |
| if: github.event_name == 'pull_request' || !(github.event_name == 'push' && github.actor == 'renovate[bot]') | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.13' | |
| cache: 'pip' | |
| cache-dependency-path: 'requirements/requirements-saltbox.txt' | |
| - name: Install packages | |
| run: pip install -r ./requirements/requirements-saltbox.txt | |
| - name: Run ansible linter | |
| working-directory: ${{ github.workspace }} | |
| run: ansible-lint | |
| defaults-lint: | |
| if: github.event_name == 'pull_request' || !(github.event_name == 'push' && github.actor == 'renovate[bot]') | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.13' | |
| - name: Run Defaults Linter | |
| run: python3 scripts/saltbox-defaults-linter.py roles/ | |
| find-roles: | |
| if: github.event_name == 'pull_request' || !(github.event_name == 'push' && github.actor == 'renovate[bot]') | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| matrix: ${{ steps.set-matrix.outputs.matrix }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - id: set-matrix | |
| run: echo "matrix={\"roles\":[$(awk '/# Core/{flag=1;next}/# Apps End/{flag=0}flag' saltbox.yml | awk '!/#/' | awk -F'[][]' '{print $2}' | tr '\n' ',' | sed 's/,*$//' | awk -F',' '{ for( i=1; i<=NF; i++ ) print $i }' | awk '{ gsub(/ /,""); print }'| sort -u | awk -vORS=, '{ print $1 }' | sed 's/,$/\n/' | sed "s/.\(roles\|common\|docker\|hetzner\|kernel\|motd\|motd-generate-config\|mounts\|nvidia\|nvidia-purge\|preinstall\|rclone\|scripts\|shell\|system\|traefik\|traefik-reset-certs\|user\|cloudflare\|plex-db\|arr-db\|ddns\|cloudplow\|cloudplow-reset\|btrfsmaintenance\|download-clients\|download-indexers\|media-server\|python\|yyq\|crowdsec\|postgres-host\).,//g")]}" >> $GITHUB_OUTPUT | |
| install: | |
| name: '${{ matrix.roles }}' | |
| runs-on: ubuntu-24.04 | |
| needs: [ansible-lint, defaults-lint, find-roles] | |
| strategy: | |
| matrix: ${{ fromJson(needs.find-roles.outputs.matrix) }} | |
| fail-fast: false | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Tune GitHub-hosted runner network | |
| run: sudo ethtool -K eth0 tx off rx off | |
| - name: Print pip dependencies | |
| run: cat ./requirements/requirements-saltbox.txt | |
| - name: Install sb binary | |
| uses: jaxxstorm/[email protected] | |
| with: | |
| repo: saltyorg/sb-go | |
| tag: latest | |
| extension-matching: disable | |
| platform: linux | |
| arch: amd64 | |
| rename-to: sb | |
| chmod: "0755" | |
| - name: Check sb version | |
| run: | | |
| sudo mv /opt/hostedtoolcache/saltyorg/sb-go/latest/linux-amd64/sb /usr/local/bin/sb | |
| /usr/local/bin/sb version | |
| - name: Create Directories | |
| run: sudo mkdir -p /srv/git | |
| - name: Chown /srv/git | |
| run: sudo chown -R runner:runner /srv/git | |
| - name: Symlink cloned repository to /srv/git/saltbox | |
| run: ln -s $GITHUB_WORKSPACE /srv/git/saltbox | |
| - name: Install Dependencies | |
| run: /usr/local/bin/sb gha && /srv/ansible/venv/bin/ansible --version | |
| - name: Edit accounts.yml | |
| run: sed -i 's/seed/runner/g' accounts.yml | |
| - name: Run Tree on Saltbox repository | |
| run: tree -a | |
| - name: Syntax Check | |
| run: sudo /srv/ansible/venv/bin/ansible-playbook saltbox.yml --syntax-check | |
| - name: Create basic vars file | |
| run: | | |
| echo "continuous_integration: true" > vars.yml | |
| echo "server_appdata_path: /opt2" >> vars.yml | |
| sudo mkdir -p /opt2 | |
| - name: Add Docker Hub info to vars file | |
| if: github.repository == 'saltyorg/Saltbox' && github.event.repository.fork == false | |
| run: | | |
| echo "dockerhub:" >> vars.yml | |
| echo " token: ${{ secrets.DOCKERHUB_TOKEN }}" >> vars.yml | |
| echo " user: ${{ secrets.DOCKERHUB_USERNAME }}" >> vars.yml | |
| - name: Install Saltbox Preinstall | |
| run: sudo /srv/ansible/venv/bin/ansible-playbook saltbox.yml --tags "preinstall" --skip-tags "settings" --extra-vars "@vars.yml" | |
| - name: Run saltbox.fact | |
| run: /srv/git/saltbox/ansible_facts.d/saltbox.fact | |
| - name: Install Saltbox Core | |
| run: sudo /srv/ansible/venv/bin/ansible-playbook saltbox.yml --tags "core" --skip-tags "settings" --extra-vars "@vars.yml" | |
| if: ${{ !(contains(matrix.roles, 'saltbox') || contains(matrix.roles, 'feederbox') || contains(matrix.roles, 'mediabox') || contains(matrix.roles, 'core')) }} | |
| - name: Install ${{ matrix.roles }} | |
| run: sudo /srv/ansible/venv/bin/ansible-playbook saltbox.yml --tags "${{ matrix.roles }}" --skip-tags "settings" --extra-vars "@vars.yml" | |
| - name: Run Tree on app data folder | |
| run: sudo tree -aug /opt2 | |
| - name: Inspect all Docker containers | |
| run: | | |
| echo "=== Inspecting all Docker containers ===" | |
| # Get list of all containers (running and stopped) | |
| ALL_CONTAINERS=$(docker ps -a -q) | |
| if [ -z "$ALL_CONTAINERS" ]; then | |
| echo "No containers found on this system" | |
| exit 0 | |
| fi | |
| echo "Found containers: $ALL_CONTAINERS" | |
| echo "" | |
| # Loop through each container and inspect it | |
| for container_id in $ALL_CONTAINERS; do | |
| echo "=========================================" | |
| echo "Inspecting container: $container_id" | |
| echo "=========================================" | |
| # Get container name and status for better readability | |
| CONTAINER_NAME=$(docker inspect --format='{{.Name}}' $container_id | sed 's/^\///') | |
| CONTAINER_STATUS=$(docker inspect --format='{{.State.Status}}' $container_id) | |
| echo "Container Name: $CONTAINER_NAME" | |
| echo "Container Status: $CONTAINER_STATUS" | |
| echo "" | |
| echo "Full inspection details:" | |
| echo "----------------------------------------" | |
| # Print full inspection details | |
| docker inspect $container_id | |
| echo "" | |
| echo "=========================================" | |
| echo "" | |
| done | |
| echo "=== Container inspection completed ===" |