Build - Linux x64 (.rpm/.deb/.pkg) #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build - Linux x64 (.rpm/.deb/.pkg) | |
| on: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| env: | |
| FORCE_COLOR: "1" | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| ci: | |
| name: Package | |
| runs-on: ${{ matrix.runs-on }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target: [ "Ubuntu-24.04", "Fedora-40", "Arch-Linux" ] | |
| include: | |
| - target: "Ubuntu-24.04" | |
| platform: "Linux" | |
| output-format: "system" | |
| runs-on: "ubuntu-latest" | |
| pre-command: "sudo apt -y install socat" | |
| briefcase-args: "--target ubuntu:24.04" | |
| python-version: "3.12" | |
| - target: "Fedora-40" | |
| platform: "Linux" | |
| output-format: "system" | |
| runs-on: "ubuntu-latest" | |
| pre-command: "sudo apt -y install socat" | |
| briefcase-args: "--target fedora:40" | |
| python-version: "3.12" | |
| - target: "Arch-Linux" | |
| platform: "Linux" | |
| output-format: "system" | |
| runs-on: "ubuntu-latest" | |
| pre-command: "sudo apt -y install socat" | |
| briefcase-args: "--target archlinux:latest" | |
| python-version: "3.14" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install Briefcase | |
| run: | | |
| python -m pip install -U pip setuptools wheel | |
| python -m pip install briefcase | |
| - name: Setup Environment | |
| run: | | |
| ${{ matrix.pre-command }} | |
| - name: Prepare Changelog for Arch Linux | |
| if: matrix.target == 'Arch-Linux' | |
| run: | | |
| if [ -f "CHANGELOG.md" ]; then | |
| cp CHANGELOG.md CHANGELOG | |
| else | |
| touch CHANGELOG | |
| fi | |
| - name: Build App | |
| run: | | |
| briefcase build \ | |
| ${{ matrix.platform }} \ | |
| ${{ matrix.output-format }} \ | |
| --test --no-input --log \ | |
| ${{ matrix.briefcase-args }} | |
| - name: Package App | |
| run: | | |
| briefcase package \ | |
| ${{ matrix.platform }} \ | |
| ${{ matrix.output-format }} \ | |
| --update --adhoc-sign --no-input --log \ | |
| ${{ matrix.briefcase-args }} | |
| - name: Upload App | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: App-${{ matrix.target }} | |
| path: dist | |
| if-no-files-found: error | |
| - name: Upload Log | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: Log-Failure-${{ matrix.target }} | |
| path: logs/* |