Skip to content

LinuxRelease

LinuxRelease #1

name: LinuxRelease
# Creates a Linux Installer using beeware-briefcase and github actions
# Generates .deb file and appimage for Python 3.10 using Ubuntu 22.04
# Author: Rahul Singh
# https://github.com/codecliff/PhotoGlimmer
# Runs manually, will prompt for release tag
on:
#push:
# branches: [ master ]
#pull_request:
# branches: [ master ]
workflow_dispatch:
inputs: #when run, ask user to input release tag
reltag:
description: "tag for release, eg v1.0.0_linux"
required: true
default: "latest"
permissions:
contents: write
pull-requests: write
repository-projects: write
jobs:
build-multi:
runs-on: ubuntu-22.04
env:
TAGNAME: ${{ inputs.reltag }}
steps:
- uses: actions/checkout@v2 #1
- uses: actions/setup-python@v3 #2
with:
python-version: '3.10.12'
- name: install dependencies #3
run: |
sudo apt update
sudo apt install -yq build-essential git pkg-config python3-dev python3-venv \
libgirepository1.0-dev libcairo2-dev \
gir1.2-webkit2-4.0 libcanberra-gtk3-module libgl1 libglib2.0-0
python -m pip install briefcase
- name: Build linux arifacts #4
run: |
briefcase build
briefcase package linux appimage #this creates appimage file
briefcase package #this creates .deb file on ubuntu
- uses: actions/upload-artifact@v4 #5
with:
name: linuxartifacts
path: "./dist/"
- uses: marvinpinto/action-automatic-releases@latest # {{xyz}}varaibles not available in uses
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "${{ inputs.reltag }}"
prerelease: false
title: "Build ${{ github.event.inputs.reltag }}" #same as inputs.reltag
files: |
./dist/*.AppImage
./dist/*.deb