From cb2d7af5ef91df4c114c630b01d759d79a6a1d90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=88=9A=28noham=29=C2=B2?= <100566912+NohamR@users.noreply.github.com> Date: Sun, 25 Aug 2024 15:31:40 +0200 Subject: [PATCH] Create build_latest.yml --- .github/workflows/build_latest.yml | 240 +++++++++++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 .github/workflows/build_latest.yml diff --git a/.github/workflows/build_latest.yml b/.github/workflows/build_latest.yml new file mode 100644 index 0000000..1ac51cf --- /dev/null +++ b/.github/workflows/build_latest.yml @@ -0,0 +1,240 @@ +name: Build Latest + +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' + +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@v3.1.3 + with: + name: GoFileCLI_win-x64 + path: | + build/*.exe + build/*.bin + build/*.app/**/* + + build-win-arm64: + 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: '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[win-arm64] + uses: actions/upload-artifact@v3.1.3 + with: + name: GoFileCLI_win-arm64 + path: | + build/*.exe + build/*.bin + build/*.app/**/* + + build-linux-x64: + runs-on: ubuntu-latest + container: ubuntu:18.04 + + steps: + - run: apt-get update + - run: apt-get install -y curl wget + - 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@v3.1.3 + 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-18.04-cross-arm64-20220312201346-b2c2436 + + 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: '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[linux-arm64] + uses: actions/upload-artifact@v3.1.3 + with: + name: GoFileCLI_linux-arm64 + path: | + build/*.exe + build/*.bin + build/*.app/**/* + + build-mac-x64: + runs-on: macos-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[linux-x64] + uses: actions/upload-artifact@v3.1.3 + with: + name: GoFileCLI_osx-X64 + path: | + build/*.exe + build/*.bin + build/*.app/**/* + + build-mac-arm64: + runs-on: macos-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: '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@v3.1.3 + with: + name: GoFileCLI_osx-arm64 + path: | + build/*.exe + build/*.bin + build/*.app/**/* \ No newline at end of file