Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
20 changes: 10 additions & 10 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@
commit_sha: ${{ steps.commit_push.outputs.commit_sha }}
release_id: ${{ steps.create_release.outputs.id }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.12'

Expand Down Expand Up @@ -97,7 +97,7 @@

- name: Create GitHub Release
id: create_release
uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3
uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3
with:
tag_name: v${{ github.event.inputs.version }}
name: Release ${{ github.event.inputs.version }}
Expand Down Expand Up @@ -131,20 +131,20 @@
- os: windows-latest
python-version: '3.12'
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ needs.prepare-release.outputs.tag_name }}

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: ${{ matrix.python-version }}

- uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0
- uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with:
enable-cache: true

- name: Install dependencies
run: uv pip install -e ".[dev]" --system

Check warning on line 147 in .github/workflows/cd.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDyr4ahQirlofOfL&open=AZ-CrDyr4ahQirlofOfL&pullRequest=97

Check warning on line 147 in .github/workflows/cd.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--no-build" or "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDyr4ahQirlofOfK&open=AZ-CrDyr4ahQirlofOfK&pullRequest=97

- name: Run tests
shell: bash
Expand All @@ -160,15 +160,15 @@
id-token: write
attestations: write
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ needs.prepare-release.outputs.tag_name }}

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.12'

- run: pip install build

Check warning on line 171 in .github/workflows/cd.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDyr4ahQirlofOfN&open=AZ-CrDyr4ahQirlofOfN&pullRequest=97

Check warning on line 171 in .github/workflows/cd.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDyr4ahQirlofOfM&open=AZ-CrDyr4ahQirlofOfM&pullRequest=97

- run: python -m build

Expand Down Expand Up @@ -199,7 +199,7 @@
name: python-package-distributions
path: dist/

- uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
- uses: pypa/gh-action-pypi-publish@ba38be9e461d3875417946c167d0b5f3d385a247 # release/v1

update-main-branch:
name: Update main branch
Expand All @@ -210,7 +210,7 @@
permissions:
contents: write
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: main
fetch-depth: 0
Expand Down
30 changes: 15 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

Expand All @@ -33,7 +33,7 @@
path: ~/.cache/pre-commit
key: pre-commit-${{ env.pythonLocation }}-${{ hashFiles('.pre-commit-config.yaml') }}

- run: pip install pre-commit

Check warning on line 36 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe1&open=AZ-CrDv54ahQirlofOe1&pullRequest=97

Check warning on line 36 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe2&open=AZ-CrDv54ahQirlofOe2&pullRequest=97

- run: pre-commit run --show-diff-on-failure --color=always --all-files

Expand All @@ -58,18 +58,18 @@
python-version: ['3.11', '3.12', '3.13']

steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: ${{ matrix.python-version }}

- uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0
- uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with:
enable-cache: true

- name: Install dependencies
run: uv pip install -e ".[dev,gui]" --system

Check warning on line 72 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--no-build" or "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe3&open=AZ-CrDv54ahQirlofOe3&pullRequest=97

Check warning on line 72 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe4&open=AZ-CrDv54ahQirlofOe4&pullRequest=97

- name: Check dependency hygiene (deptry)
if: runner.os == 'Linux' && matrix.python-version == '3.12'
Expand Down Expand Up @@ -112,20 +112,20 @@
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0
- uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with:
enable-cache: true

- name: Install dependencies
run: |
uv pip install -e ".[dev]" --system

Check warning on line 127 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--no-build" or "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe5&open=AZ-CrDv54ahQirlofOe5&pullRequest=97

Check warning on line 127 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe6&open=AZ-CrDv54ahQirlofOe6&pullRequest=97
uv pip install pytest-timeout --system

Check warning on line 128 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--no-build" or "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe7&open=AZ-CrDv54ahQirlofOe7&pullRequest=97

Check warning on line 128 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe8&open=AZ-CrDv54ahQirlofOe8&pullRequest=97

- name: Run mutation testing
env:
Expand All @@ -150,13 +150,13 @@
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- run: pip install radon

Check warning on line 159 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe-&open=AZ-CrDv54ahQirlofOe-&pullRequest=97

Check warning on line 159 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe9&open=AZ-CrDv54ahQirlofOe9&pullRequest=97

- name: Check cyclomatic complexity
run: |
Expand All @@ -181,20 +181,20 @@
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0
- uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with:
enable-cache: true

- name: Install dependencies
run: |
uv pip install -e . --system

Check warning on line 196 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--no-build" or "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOe_&open=AZ-CrDv54ahQirlofOe_&pullRequest=97

Check warning on line 196 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfA&open=AZ-CrDv54ahQirlofOfA&pullRequest=97
uv pip install import-linter --system

Check warning on line 197 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--no-build" or "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfB&open=AZ-CrDv54ahQirlofOfB&pullRequest=97

Check warning on line 197 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfC&open=AZ-CrDv54ahQirlofOfC&pullRequest=97

- name: Validate architecture
run: lint-imports || echo "::warning::Architecture violations detected"
Expand All @@ -207,26 +207,26 @@
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "22"
cache: npm
cache-dependency-path: frontend/package-lock.json

- name: Install dependencies
run: npm ci

Check warning on line 219 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--ignore-scripts" allows lifecycle scripts to run during package installation.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfD&open=AZ-CrDv54ahQirlofOfD&pullRequest=97
working-directory: frontend

- name: Biome check (lint + format)
run: npx biome ci .

Check warning on line 223 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Define exact package version to avoid installing unverified releases.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfF&open=AZ-CrDv54ahQirlofOfF&pullRequest=97

Check warning on line 223 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

"npx" can install packages on-demand and run their lifecycle scripts.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfE&open=AZ-CrDv54ahQirlofOfE&pullRequest=97
working-directory: frontend

- name: Type check
run: npx tsc -b

Check warning on line 227 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Define exact package version to avoid installing unverified releases.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfH&open=AZ-CrDv54ahQirlofOfH&pullRequest=97

Check warning on line 227 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

"npx" can install packages on-demand and run their lifecycle scripts.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfG&open=AZ-CrDv54ahQirlofOfG&pullRequest=97
working-directory: frontend

- name: Unit tests (Vitest)
run: npx vitest run

Check warning on line 231 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Define exact package version to avoid installing unverified releases.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfJ&open=AZ-CrDv54ahQirlofOfJ&pullRequest=97

Check warning on line 231 in .github/workflows/ci.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

"npx" can install packages on-demand and run their lifecycle scripts.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDv54ahQirlofOfI&open=AZ-CrDv54ahQirlofOfI&pullRequest=97
working-directory: frontend
4 changes: 2 additions & 2 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Generate image tag
id: tag
Expand Down Expand Up @@ -112,7 +112,7 @@ jobs:
severity: 'CRITICAL,HIGH'

- name: Upload Trivy results to GitHub Security
uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4
uses: github/codeql-action/upload-sarif@7188fc363630916deb702c7fdcf4e481b751f97a # v4
if: always()
continue-on-error: true
with:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@
contents: read
security-events: write
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Initialize CodeQL
uses: github/codeql-action/init@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4
uses: github/codeql-action/init@7188fc363630916deb702c7fdcf4e481b751f97a # v4
with:
languages: python
build-mode: none

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4
uses: github/codeql-action/analyze@7188fc363630916deb702c7fdcf4e481b751f97a # v4
with:
category: "/language:python"

Expand All @@ -43,14 +43,14 @@
contents: read
security-events: write
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- name: Install Bandit
run: pip install "bandit[toml,sarif]"

Check warning on line 53 in .github/workflows/security.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Using dependencies without locking resolved versions is security-sensitive.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDy04ahQirlofOfP&open=AZ-CrDy04ahQirlofOfP&pullRequest=97

Check warning on line 53 in .github/workflows/security.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Omitting "--only-binary :all:" can lead to the execution of setup scripts. Make sure it is safe here.

See more on https://sonarcloud.io/project/issues?id=nikolay-e_arbitrium-core&issues=AZ-CrDy04ahQirlofOfO&open=AZ-CrDy04ahQirlofOfO&pullRequest=97

- name: Run Bandit
run: |
Expand All @@ -58,7 +58,7 @@
bandit -r src/ -f txt || true

- name: Upload SARIF to GitHub Security
uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4
uses: github/codeql-action/upload-sarif@7188fc363630916deb702c7fdcf4e481b751f97a # v4
if: always()
with:
sarif_file: bandit-results.sarif
Expand Down
Loading