ruff checks fixed #119
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
| # Workflow für Windows und Linux Builds mit GitHub Actions | |
| name: Create Artifacts | |
| # Executed on every push to the main branch and on every tag | |
| on: | |
| push: | |
| branches: [ main ] # Executed on every push to the main branch | |
| tags: [ '*' ] # Executed on every tag for creating a release | |
| pull_request: | |
| branches: [ main ] # Executed on every pull request to the main branch | |
| jobs: | |
| build_windows: | |
| runs-on: windows-latest | |
| permissions: | |
| contents: write # requires write access to the repository contents | |
| checks: write # Requires write access to the checks API to publish test results | |
| issues: write # Requires write access to the issues API to create issues for failed tests | |
| steps: | |
| - name: Code auschecken | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| - name: Set up Python with uv (Windows) | |
| run: uv python install | |
| - name: static code analysis with ruff | |
| uses: astral-sh/ruff-action@v3 | |
| - name: Run Unit Tests with Pytest | |
| run: uv run pytest --junitxml=test-results/report.xml | |
| - name: Publish Test Results to GitHub Checks | |
| uses: EnricoMi/publish-unit-test-result-action/windows@v2 | |
| with: | |
| files: "test-results/**/*.xml" | |
| check_name: "Pytest Unit Tests Results" | |
| comment_mode: off | |
| report_individual_runs: "true" | |
| # suite_summary: "Always" # Shows the summary of all test runs, even if there are no failures | |
| # failure_summary: "Truncate" # Failure report format: "Truncate" or "Full" | |
| - name: Build with PyInstaller | |
| run: uv run pyinstaller --onefile --windowed --name NodeGraphEditor main.py # | |
| # Release erstellen (nur bei Tag-Builds) | |
| - name: Zip EXE for Windows Artifact | |
| if: startsWith(github.ref, 'refs/tags/') | |
| uses: vimtor/action-zip@v1.2 | |
| with: | |
| files: dist/NodeGraphEditor.exe | |
| dest: dist/NodeGraphEditor-win.zip | |
| - name: Create Release | |
| if: startsWith(github.ref, 'refs/tags/') | |
| id: create_release | |
| uses: softprops/action-gh-release@v2.2.2 | |
| with: | |
| tag_name: ${{ github.ref_name }} | |
| name: Release ${{ github.ref_name }} | |
| draft: false | |
| prerelease: false | |
| files: dist/NodeGraphEditor-win.zip # Updated to reflect the correct zip file name | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Save built .exe as artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: NodeGraphEditor-win | |
| path: dist/NodeGraphEditor.exe | |
| retention-days: 5 | |
| build_linux: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| checks: write | |
| issues: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| - name: Set up Python | |
| run: uv python install | |
| - name: Run Unit Tests with Pytest | |
| run: uv run pytest --junitxml=test-results/report.xml | |
| - name: Build with PyInstaller | |
| run: uv run pyinstaller --onefile --name NodeGraphEditor main.py | |
| - name: Make binary executable | |
| run: chmod +x dist/NodeGraphEditor | |
| - name: Save built binary as artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: NodeGraphEditor-linux | |
| path: dist/NodeGraphEditor | |
| retention-days: 5 | |
| - name: Create tar.gz for Release | |
| if: startsWith(github.ref, 'refs/tags/') | |
| run: | | |
| cd dist | |
| tar -czvf NodeGraphEditor-linux.tar.gz NodeGraphEditor | |
| - name: Create Release (Linux) | |
| if: startsWith(github.ref, 'refs/tags/') | |
| uses: softprops/action-gh-release@v2.2.2 | |
| with: | |
| tag_name: ${{ github.ref_name }} | |
| name: Release ${{ github.ref_name }} | |
| draft: false | |
| prerelease: false | |
| files: dist/NodeGraphEditor-linux.tar.gz | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |