# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions name: build KCC for windows on: workflow_dispatch: push: tags: - "v*.*.*" # Don't trigger if it's just a documentation update paths-ignore: - '**.md' - '**.MD' - '**.yml' - '**.sh' - 'docs/**' - 'Dockerfile' - 'LICENSE' - '.gitattributes' - '.gitignore' - '.dockerignore' jobs: build: strategy: matrix: entry: [ kcc, kcc-c2e, kcc-c2p ] include: - entry: kcc command: build_binary - entry: kcc-c2e command: build_c2e - entry: kcc-c2p command: build_c2p runs-on: windows-latest steps: - uses: actions/checkout@v6 - name: Set up Python uses: actions/setup-python@v6 with: python-version: 3.11 cache: 'pip' - name: Install dependencies env: PYINSTALLER_COMPILE_BOOTLOADER: 1 run: | python -m pip install --upgrade pip setuptools wheel pip install -r requirements.txt pip install certifi pyinstaller --no-binary pyinstaller - name: build binary run: | python setup.py ${{ matrix.command }} - name: upload-unsigned-artifact id: upload-unsigned-artifact uses: actions/upload-artifact@v5 with: name: windows-build-${{ matrix.entry }} path: dist/*.exe - id: optional_step_id uses: signpath/github-action-submit-signing-request@v2.0 if: ${{ github.repository == 'ciromattia/kcc' }} with: api-token: '${{ secrets.SIGNPATH_API_TOKEN }}' organization-id: '1dc1bad6-4a8c-4f85-af30-5c5d3d392ea6' project-slug: 'kcc' signing-policy-slug: 'release-signing' github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}' wait-for-completion: true output-artifact-directory: 'dist/' - name: Release uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: prerelease: true generate_release_notes: true files: | dist/*.exe