diff --git a/.gitea/workflows/build-standalone-release.yml b/.gitea/workflows/build-standalone-release.yml new file mode 100644 index 0000000..d8b4b6f --- /dev/null +++ b/.gitea/workflows/build-standalone-release.yml @@ -0,0 +1,65 @@ +name: Build Standalone Releases + +on: + workflow_dispatch: + push: + tags: + - "v*" + +jobs: + build: + strategy: + fail-fast: false + matrix: + include: + - os: linux + runs-on: ubuntu-latest + shell: bash + build_cmd: | + chmod +x build/build_linux.sh build/package_linux.sh + ./build/build_linux.sh + ./build/package_linux.sh + artifact_glob: release/PDFtoICS-linux-v*.tar.gz + + - os: macos + runs-on: macos-latest + shell: bash + build_cmd: | + chmod +x build/build_macos.sh build/package_macos.sh + ./build/build_macos.sh + ./build/package_macos.sh + artifact_glob: release/PDFtoICS-macos-v*.zip + + - os: windows + runs-on: windows-latest + shell: pwsh + build_cmd: | + cmd /c build\build_windows.cmd + cmd /c build\package_windows.cmd + artifact_glob: release/PDFtoICS-windows-v*.zip + + runs-on: ${{ matrix.runs-on }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Create venv + shell: ${{ matrix.shell }} + run: | + python -m venv .venv + + - name: Build + Package + shell: ${{ matrix.shell }} + run: ${{ matrix.build_cmd }} + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.os }}-release + path: ${{ matrix.artifact_glob }} diff --git a/BUILD_STANDALONE.md b/BUILD_STANDALONE.md index 9acf19d..1e35b91 100644 --- a/BUILD_STANDALONE.md +++ b/BUILD_STANDALONE.md @@ -54,6 +54,11 @@ git push origin main git push origin vx.y.z ``` +Optional per CI: +- Workflow: `.gitea/workflows/build-standalone-release.yml` +- Trigger: Tag-Push `v*` +- Ergebnis: Plattform-Artefakte als CI-Artefakte + --- ## Linux