chore(deps): bump cryptography from 46.0.3 to 46.0.5 #889
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: Lint | |
| 'on': | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| ansible-lint: | |
| name: Ansible linting | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Algo environment | |
| uses: ./.github/actions/setup-algo | |
| with: | |
| install-ansible-collections: 'true' | |
| - name: Run ansible-lint | |
| run: | | |
| uv run --with ansible-lint ansible-lint . | |
| - name: Run playbook dry-run check (catch runtime issues) | |
| run: | | |
| # Test main playbook logic without making changes | |
| # This catches filter warnings, collection issues, and runtime errors | |
| uv run ansible-playbook main.yml --check --connection=local \ | |
| -e "server_ip=test" \ | |
| -e "server_name=ci-test" \ | |
| -e "IP_subject_alt_name=192.168.1.1" \ | |
| || echo "Dry-run check completed with issues - review output above" | |
| yaml-lint: | |
| name: YAML linting | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup uv environment | |
| uses: ./.github/actions/setup-uv | |
| - name: Run yamllint | |
| run: uv run --with yamllint yamllint -c .yamllint . | |
| jinja2-lint: | |
| name: Jinja2 template linting | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup uv environment | |
| uses: ./.github/actions/setup-uv | |
| - name: Run j2lint | |
| run: | | |
| # Lint Jinja2 templates for syntax and style issues | |
| # Ignored rules (incompatible with Ansible config-file templates): | |
| # S3: indentation (dictated by output format, not Jinja style) | |
| # S5: tabs (some config formats require them) | |
| # S6: whitespace-control delimiters ({%- -%} are standard Ansible) | |
| # S7: single-statement-per-line (inline Jinja in config output) | |
| # V1: lowercase variables (existing names like IP_subject_alt_name) | |
| uv run --with j2lint j2lint roles/ --ignore S3 S5 S6 S7 V1 | |
| python-lint: | |
| name: Python linting | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Algo environment | |
| uses: ./.github/actions/setup-algo | |
| - name: Run ruff check | |
| run: | | |
| # Fast Python linter | |
| uv run --with ruff ruff check . | |
| - name: Run ruff format check | |
| run: | | |
| # Verify consistent Python formatting | |
| uv run --with ruff ruff format --check . | |
| python-types: | |
| name: Python type checking | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Algo environment | |
| uses: ./.github/actions/setup-algo | |
| - name: Run ty check | |
| run: | | |
| # Type checking with ty | |
| uv run --with ty ty check | |
| shellcheck: | |
| name: Shell script linting | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Algo environment | |
| uses: ./.github/actions/setup-algo | |
| with: | |
| install-shellcheck: 'true' | |
| - name: Run shellcheck | |
| run: | | |
| # Check all shell scripts, not just algo and install.sh | |
| find . -type f -name "*.sh" -not -path "./.git/*" -exec shellcheck {} \; | |
| powershell-lint: | |
| name: PowerShell script linting | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Install PowerShell | |
| run: | | |
| # Install PowerShell Core | |
| wget -q https://github.com/PowerShell/PowerShell/releases/download/v7.4.0/powershell_7.4.0-1.deb_amd64.deb | |
| sudo dpkg -i powershell_7.4.0-1.deb_amd64.deb | |
| sudo apt-get install -f | |
| - name: Install PSScriptAnalyzer | |
| run: | | |
| pwsh -Command "Install-Module -Name PSScriptAnalyzer -Force -Scope CurrentUser" | |
| - name: Run PowerShell syntax check | |
| run: | | |
| # Check syntax by parsing the script | |
| pwsh -NoProfile -NonInteractive -Command " | |
| try { | |
| \$null = [System.Management.Automation.PSParser]::Tokenize((Get-Content -Path './algo.ps1' -Raw), [ref]\$null) | |
| Write-Host '✓ PowerShell syntax check passed' | |
| } catch { | |
| Write-Error 'PowerShell syntax error: ' + \$_.Exception.Message | |
| exit 1 | |
| } | |
| " | |
| - name: Run PSScriptAnalyzer | |
| run: | | |
| pwsh -Command " | |
| \$results = Invoke-ScriptAnalyzer -Path './algo.ps1' -Severity Warning,Error | |
| if (\$results.Count -gt 0) { | |
| \$results | Format-Table -AutoSize | |
| exit 1 | |
| } else { | |
| Write-Host '✓ PSScriptAnalyzer check passed' | |
| } | |
| " | |
| actionlint: | |
| name: GitHub Actions linting | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Install actionlint | |
| run: | | |
| bash <(curl -sL https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) | |
| sudo mv actionlint /usr/local/bin/ | |
| - name: Run actionlint | |
| run: | | |
| actionlint .github/workflows/*.yml | |
| zizmor: | |
| name: GitHub Actions security audit | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v5.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Install zizmor | |
| run: | | |
| pip install zizmor | |
| - name: Run zizmor | |
| run: | | |
| zizmor .github/workflows/ |