Skip to content

chore(deps): update pip-requirements (role-refactor) #3155

chore(deps): update pip-requirements (role-refactor)

chore(deps): update pip-requirements (role-refactor) #3155

Workflow file for this run

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 ==="