name: Executable Build and Release on: workflow_dispatch: jobs: build: name: Build strategy: matrix: os: [macos-latest, ubuntu-20.04, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Check-out repository uses: actions/checkout@v3 - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.9.13' architecture: 'x64' cache: 'pip' cache-dependency-path: | **/requirements*.txt - name: Install Dependencies run: | pip install -r requirements.txt - name: Build Executable uses: Nuitka/Nuitka-Action@main with: script-name: DeGourou.py onefile: true standalone: true - name: Upload Artifacts uses: actions/upload-artifact@v3 with: name: ${{ runner.os }} Build path: | build/*.exe build/*.bin build/*.app/**/* release: needs: build permissions: write-all name: Release runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/download-artifact@v3 - name: Display structure of downloaded files run: ls -R - name: release uses: actions/create-release@v1 id: create_release with: draft: false prerelease: false release_name: Latest Release tag_name: LatestRelease env: GITHUB_TOKEN: ${{ github.token }} - name: upload windows artifact uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ github.token }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./Windows Build/DeGourou.exe asset_name: DeGourou-windows.exe asset_content_type: application/zip - name: upload linux artifact uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ github.token }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./Linux Build/DeGourou.bin asset_name: DeGourou-linux asset_content_type: application/gzip - name: upload darwin artifact uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ github.token }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./macOS Build/DeGourou.bin asset_name: DeGourou-macOS.bin asset_content_type: application/gzip