name: Build Latest and Release on: workflow_dispatch: inputs: doRelease: description: 'Publish new release' type: boolean default: false required: false tag: type: string description: 'Release version tag (e.g. v1.2.3)' required: true ref: type: string description: 'Git ref from which to release' required: true default: 'main' env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true jobs: build-win-x64: runs-on: windows-latest steps: - name: Check-out repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.10' cache: 'pip' cache-dependency-path: | **/requirements*.txt architecture: 'x64' - name: Install Dependencies run: | pip install -r requirements.txt - name: Build Executable with Nuitka uses: Nuitka/Nuitka-Action@main with: nuitka-version: main script-name: gofilecli.py onefile: true - name: Upload Artifact[win-x64] uses: actions/upload-artifact@v4 with: name: GoFileCLI_win-x64 path: | build/*.exe build/*.bin build/*.app/**/* build-linux-x64: runs-on: ubuntu-latest steps: - name: Check runner architecture run: uname -m - name: Check-out repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.10' cache: 'pip' cache-dependency-path: | **/requirements*.txt architecture: 'x64' - name: Install Dependencies run: | pip install -r requirements.txt - name: Build Executable with Nuitka uses: Nuitka/Nuitka-Action@main with: nuitka-version: main script-name: gofilecli.py onefile: true - name: Upload Artifact[linux-x64] uses: actions/upload-artifact@v4 with: name: GoFileCLI_linux-x64 path: | build/*.exe build/*.bin build/*.app/**/* build-linux-arm64: runs-on: ubuntu-latest container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-arm64 steps: - name: Check runner architecture run: uname -m - name: Check-out repository uses: actions/checkout@v1 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.10' cache-dependency-path: | **/requirements*.txt - name: Install Dependencies run: | pip install -r requirements.txt - name: Build Executable with Nuitka uses: Nuitka/Nuitka-Action@main with: nuitka-version: main script-name: gofilecli.py onefile: true - name: Upload Artifact[linux-arm64] uses: actions/upload-artifact@v4 with: name: GoFileCLI_linux-arm64 path: | build/*.exe build/*.bin build/*.app/**/* build-mac-arm64: runs-on: macos-latest steps: - name: Check runner architecture run: uname -m - name: Check-out repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.10' cache: 'pip' cache-dependency-path: | **/requirements*.txt architecture: 'arm64' - name: Install Dependencies run: | pip install -r requirements.txt - name: Build Executable with Nuitka uses: Nuitka/Nuitka-Action@main with: nuitka-version: main script-name: gofilecli.py onefile: true - name: Upload Artifact[osx-arm64] uses: actions/upload-artifact@v4 with: name: GoFileCLI_osx-arm64 path: | build/*.exe build/*.bin build/*.app/**/*