Skip to content

🤖 Package update #3816

🤖 Package update

🤖 Package update #3816

Workflow file for this run

name: Test & Push
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
lint:
runs-on: windows-2022
steps:
- name: Checkout code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
# fetch all history for all branches
fetch-depth: 0
- name: Install dependencies
run: pip install black==25.* isort==6.* flake8==7.*
# Different line limits: Black/isort (120), Flake8 (150).
# Flake8 allows longer lines for better long string readability. Black doesn't enforce string length.
- name: Run black
run: black --line-length=120 --check --diff .
- name: Run flake8
run: flake8 --max-line-length=150
- name: Run isort
run: isort --check --diff --profile black --line-length=120 .
- name: Check issue template package categories
run: |
Install-Module powershell-yaml -Force
$categories = Get-Content -Path categories.txt | Where-Object { $_ -ne "IDA plugins" }
$issueTemplates = Get-ChildItem -Path .github/ISSUE_TEMPLATE -Filter new_*package.yml
foreach ($issueTemplate in $issueTemplates) {
$template = Get-Content -Path $issueTemplate.FullName -Raw | ConvertFrom-Yaml
$category = $template.body | Where-Object { $_.id -eq "category" }
$options = $category.attributes.options | Where-Object { $_ -ne $null }
if (!$options -or (Compare-Object -ReferenceObject $categories -DifferenceObject $options)) {
echo "Issue template $($issueTemplate.Name) supported package categories are not updated"
exit(1)
}
}
exit(0)
- name: Run lint.py
run: python scripts/test/lint.py packages
- name: Run lint.ps1
run: scripts/test/lint.ps1
test_upload:
runs-on: ${{ matrix.os }}
needs: [lint]
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
steps:
- name: Checkout code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Get changed files
id: files
uses: Ana06/get-changed-files@25f79e676e7ea1868813e21465014798211fad8c # v2.3.0
with:
filter: '*.nuspec'
- name: Build and test all modified packages
id: test
# It runs only if there are modified files
if: steps.files.outputs.added_modified_renamed != ''
env:
MATRIX_OS: ${{ matrix.os }}
run: |
$os = "${{ matrix.os }}"
$packages = "${{ steps.files.outputs.added_modified_renamed }}".Split(" ") | Foreach-Object { (Get-Item $_).Directory.Name }
$packages = ("common.vm " + $packages -join " ").Trim()
scripts/test/test_install.ps1 "$packages"
- name: Upload logs to artifacts
uses: ./.github/actions/upload-logs
if: always()
with:
os: ${{ matrix.os }}
- name: Push all built packages to MyGet
# Only push packages if they were built (not if testing was skipped)
# and only with one version of Windows
if: steps.test.outcome == 'success' && github.event_name == 'push' && matrix.os == 'windows-2022'
run: |
$built_pkgs = Get-ChildItem built_pkgs
Set-Location built_pkgs
foreach ($package in $built_pkgs) {
choco push -s "https://www.myget.org/F/vm-packages/api/v2" -k ${{ secrets.MYGET_TOKEN }} $package
}