Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
2b94f09
Update Python version and refactor CI/CD pipeline
meanmail Jan 25, 2024
3122773
Refactor codebase to use pathlib and type annotations
meanmail May 20, 2024
c6d7f50
Update workflow configurations for Github Actions
meanmail May 20, 2024
fdf6862
Update Poetry install command in CI config
meanmail May 20, 2024
9828c5a
Update poetry install command in workflow files
meanmail May 20, 2024
b848908
Refactor base_searcher and stage_test for improved exception handling…
polischuks May 14, 2025
5c9c176
Refactor base_searcher to improve path handling and enhance readability
polischuks May 14, 2025
f6b9256
Refactor base_searcher to simplify source path handling and improve c…
polischuks May 14, 2025
1c56e47
Improve syntax error messages in eval tests
polischuks Feb 13, 2025
581f512
Refactor error messages in test cases for clarity and consistency
polischuks Feb 14, 2025
0685285
Update GitHub Actions workflow to use Python 3.12 and latest action v…
polischuks Feb 14, 2025
8d293a2
Add CI workflow for linting, type checking, and testing with multiple…
polischuks Feb 14, 2025
2427c04
Migrate project to Poetry for dependency management and update Python…
polischuks Feb 14, 2025
d7fea26
Backend: Auto format
github-actions[bot] Feb 14, 2025
83dd679
Update CI workflow to use arc-runners-small for Python versions 3.10,…
polischuks Feb 14, 2025
3467f87
Enhance CI workflow to support Poetry installation on both Unix and W…
polischuks Feb 14, 2025
2ed2830
Refactor graph type handling and update requirements for cross-platfo…
polischuks Feb 14, 2025
45394ba
Add type hints to test files for improved clarity and type checking
polischuks Feb 14, 2025
a8e9afd
Add type hints to test files for improved clarity and type checking
polischuks Feb 14, 2025
7972297
Add type hints to test file for improved clarity and type checking
polischuks Feb 14, 2025
61eda4e
Add type hints to test file for improved clarity and type checking
polischuks Feb 14, 2025
8f90d93
Add CheckResult import to test files for enhanced result checking
polischuks Feb 15, 2025
874e4f0
Add type hints to test files for improved clarity and type checking
polischuks Feb 15, 2025
b436318
Refactor CI workflow and add type hint for OutcomeError in stage_test.py
polischuks Feb 15, 2025
23b2ef3
Refactor matplotlib_handler to use direct import for Axes and improve…
polischuks Feb 15, 2025
3e63e1b
Backend: Auto format
github-actions[bot] Feb 15, 2025
94fc344
Enhance error message normalization in ExpectedFailTest for improved …
polischuks Feb 15, 2025
ac3bd14
Backend: Auto format
github-actions[bot] Feb 15, 2025
0590982
Update CI workflow to use latest Ubuntu and Windows runners with mult…
polischuks Feb 15, 2025
22e1263
Enhance error handling and platform-specific command execution in Pyt…
polischuks Feb 15, 2025
41a2af7
Backend: Auto format
github-actions[bot] Feb 15, 2025
86400b0
Enhance error handling and platform-specific command execution in Pyt…
polischuks Feb 15, 2025
01dd9cc
Enhance error handling and platform-specific command execution in Pyt…
polischuks Feb 15, 2025
2327878
Backend: Auto format
github-actions[bot] Feb 15, 2025
df3c96d
Refactor python_executor to use is_windows utility for OS checks
polischuks Feb 15, 2025
72f89a9
Enhance error handling and Windows compatibility in failure handler a…
polischuks Feb 15, 2025
fca0849
Enhance traceback formatting in failure handler and update CI workflo…
polischuks Feb 15, 2025
57417b4
Backend: Auto format
github-actions[bot] Feb 15, 2025
c4e070c
Enhance input handling in process wrapper to ensure newline terminati…
polischuks Feb 15, 2025
bbaa816
Backend: Auto format
github-actions[bot] Feb 15, 2025
6bc29d9
Enhance CI workflow to include Python 3.11 and 3.12 for Windows compa…
polischuks Feb 15, 2025
c6b6005
Enhance CI workflow to configure environment variables for Windows co…
polischuks Feb 15, 2025
0a721df
Enhance CI workflow to uncomment Python versions for Ubuntu and macOS
polischuks Feb 15, 2025
7f1dd9d
Add GitHub Actions workflow for automatic code formatting with ruff
polischuks Feb 15, 2025
ab8fb50
Enhance CI workflow to update wheel URLs and manage releases automati…
polischuks Feb 15, 2025
057b3ff
Refactor CI workflows to improve job names and streamline formatting …
polischuks Feb 15, 2025
782aab9
Update CI workflow to rename lint job and streamline ruff formatting …
polischuks Feb 15, 2025
3f9a9b2
fix:
polischuks Feb 24, 2025
02db04b
fix:
polischuks Feb 24, 2025
e43d4ba
Update dependencies: bump psutil to 7.0.0, mypy to 1.13.0, pandas to …
polischuks May 14, 2025
1788518
Backend: Auto format
github-actions[bot] May 14, 2025
2b8bdc9
Add .go-version and .node-version files; update action.yml to dynamic…
polischuks May 14, 2025
1f044aa
Add support for Python 3.13 in CI workflow
polischuks May 14, 2025
c743519
Add Go version 1.21 to .go-version file
polischuks May 14, 2025
9251d39
Fix: dynamically import PlottingTest and update __all__ list
polischuks May 14, 2025
27b43c8
Fix: dynamically import PlottingTest and update __all__ list
polischuks May 14, 2025
fb0514d
Backend: Auto format
github-actions[bot] May 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions .flake8

This file was deleted.

17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "00:00"
groups:
all-actions:
patterns: [ "*" ]

- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
time: "00:00"
100 changes: 100 additions & 0 deletions .github/workflows/actions/prepare/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: 'Prepare environment'
description: 'Prepare environment'

inputs:
python-version:
description: 'Python version to use'
required: true

runs:
using: "composite"
steps:
- name: Set up Python paths (Unix)
if: runner.os != 'Windows'
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
shell: bash

- name: Set up Python paths (Windows)
if: runner.os == 'Windows'
run: echo "$env:APPDATA\Python\Scripts" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
shell: pwsh

- name: Get Poetry version
id: poetry-version
run: |
if [ -f .poetry-version ]; then
echo "version=$(head -n 1 .poetry-version)" >> $GITHUB_OUTPUT
else
echo "version=2.0.1" >> $GITHUB_OUTPUT
fi
shell: bash

- name: Install Poetry (Unix)
if: runner.os != 'Windows'
run: pipx install poetry==${{ steps.poetry-version.outputs.version }}
shell: bash

- name: Install Poetry (Windows)
if: runner.os == 'Windows'
run: pipx install poetry==${{ steps.poetry-version.outputs.version }}
shell: pwsh

- uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
cache: 'poetry'

- name: Clear Poetry cache (Unix)
if: runner.os != 'Windows'
run: poetry cache clear --all pypi
shell: bash

- name: Clear Poetry cache (Windows)
if: runner.os == 'Windows'
run: poetry cache clear --all pypi
shell: pwsh

- name: Install dependencies and package (Unix)
if: runner.os != 'Windows'
run: poetry install --no-interaction --no-ansi
shell: bash

- name: Install dependencies and package (Windows)
if: runner.os == 'Windows'
run: poetry install --no-interaction --no-ansi
shell: pwsh

# Setup Node.js for JavaScript tests
- name: Get Node.js version
id: node-version
run: |
if [ -f .node-version ]; then
echo "version=$(head -n 1 .node-version)" >> $GITHUB_OUTPUT
else
echo "version=20" >> $GITHUB_OUTPUT
fi
shell: bash
- uses: actions/setup-node@v4
with:
node-version: ${{ steps.node-version.outputs.version }}

# Install Node.js dependencies
- name: Install Node.js dependencies
run: npm install
shell: bash

# Setup Go for Go language tests
- name: Get Go version
id: go-version
run: |
if [ -f .go-version ]; then
echo "version=$(head -n 1 .go-version)" >> $GITHUB_OUTPUT
else
echo "version=1.21" >> $GITHUB_OUTPUT
fi
shell: bash

- uses: actions/setup-go@v5
with:
go-version: ${{ steps.go-version.outputs.version }}
cache: 'false'
16 changes: 16 additions & 0 deletions .github/workflows/auto-author-assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Auto Author Assign

on:
pull_request_target:
types: [ opened, reopened ]

permissions:
pull-requests: write

jobs:
assign-author:
runs-on: arc-runners-small
timeout-minutes: 30
if: ${{ !github.event.pull_request.assignee }}
steps:
- uses: toshimaru/auto-author-assign@v2.1.0
141 changes: 141 additions & 0 deletions .github/workflows/build-wheels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
name: Build Wheels

on:
push:
tags:
- 'v*'
workflow_dispatch:

jobs:
build_wheels:
name: Build psutil wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
permissions:
contents: write
strategy:
matrix:
include:
# Linux builds
- os: ubuntu-latest
python-version: '3.10'
- os: ubuntu-latest
python-version: '3.11'
- os: ubuntu-latest
python-version: '3.12'

# Windows builds
- os: windows-latest
python-version: '3.10'
- os: windows-latest
python-version: '3.11'
- os: windows-latest
python-version: '3.12'

# macOS builds
- os: macos-latest
python-version: '3.10'
- os: macos-latest
python-version: '3.11'
- os: macos-latest
python-version: '3.12'

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install build dependencies
run: |
python -m pip install pip wheel
shell: bash

- name: Build psutil wheel
run: |
# Create dist directory
mkdir -p dist

# Build psutil wheel
pip wheel psutil==5.8.0 --wheel-dir dist/
shell: bash

- name: Upload to GitHub Actions
uses: actions/upload-artifact@v4
with:
name: dist-${{ matrix.os }}-py${{ matrix.python-version }}
path: dist/*

release:
needs: build_wheels
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: release

- name: Download all artifacts
uses: actions/download-artifact@v4
with:
pattern: dist-*
path: dist
merge-multiple: true

- name: Get tag version
id: get_version
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
shell: bash

- name: Update wheel URLs in pyproject.toml
run: |
# Get the version without the 'v' prefix
VERSION="${{ steps.get_version.outputs.VERSION }}"

# Update URLs in pyproject.toml
sed -i "s|/releases/download/v[0-9]\+\.[0-9]\+\.[0-9]\+/|/releases/download/${VERSION}/|g" pyproject.toml

# Update poetry.lock
poetry lock --no-update

# Commit changes
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git add pyproject.toml poetry.lock
git commit -m "Update wheel URLs to ${VERSION}"

# Force update the release branch
git push origin release --force

# Create/update tag to point to the new commit
git tag -f "${VERSION}"
git push origin "${VERSION}" --force
shell: bash

- name: Create Release
uses: softprops/action-gh-release@v2
with:
files: |
dist/*
pyproject.toml
body: |
Release ${{ steps.get_version.outputs.VERSION }}

This release includes:
- Updated wheel builds for Python 3.10, 3.11, and 3.12
- Updated pyproject.toml with correct wheel URLs
draft: false
prerelease: false
target_commitish: release

- name: Merge release into master
run: |
git checkout master
git pull origin master
git merge release --no-ff -m "Merge release ${VERSION} into master"
git push origin master
shell: bash
Loading