fix EZ tools and memprocfs #3822
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: 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 | |
| } |