Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prefix the summary with the branch / ticket name #1111

Open
wants to merge 97 commits into
base: linux
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
35a3034
update documentation and README for Linux support
shiftkey Nov 20, 2018
0d0cbd7
improvements to electron-builder config
shiftkey Nov 1, 2018
546602b
redirect in-app menu for reporting an issue to the fork (#141)
shiftkey Apr 19, 2019
23530f3
workaround for Linux users of the app to use it on very low resolutio…
shiftkey May 30, 2019
5e18f8c
add CLI support to Debian package, add Elementary OS shell and editor…
jfgordon2 Mar 29, 2020
921d895
polish About modal for Linux build (#241)
jfgordon2 Mar 30, 2020
3d34c07
Detach CLI process from terminal (#239)
jfgordon2 Mar 30, 2020
a3004f0
Added test for symlinks
jfgordon2 Apr 14, 2020
01a9a1d
set filemode for chrome-sandbox to reflect the permissions it needs (…
shiftkey Apr 16, 2020
e911634
move debian packaging out to dedicated step (#263)
shiftkey Apr 23, 2020
5d62219
move redhat packaging out to own step (#273)
shiftkey May 17, 2020
c93caef
readme: add language property to code blocks (#287)
serkonda7 May 30, 2020
2095d7a
wire up sponsorship details for the repository
shiftkey May 31, 2020
04fc421
drop unnecessary libappindicator dependency for RPM package (#300)
shiftkey Jun 24, 2020
a6a8ca1
run codeql on linux branch (#302)
shiftkey Jun 24, 2020
6ace937
add in libcurl4 as optional dependency for RPM (#315)
shiftkey Jul 27, 2020
d4a06f3
allow tilde character when specifying a local repository (#316)
Daniel-McCarthy Aug 4, 2020
25c4654
remove deprecated apt-key from installation setup (#354)
KrisAphalon Oct 24, 2020
e02616c
add optional x11 dependency for SUSE-based distributions (#369)
shiftkey Nov 6, 2020
22f0aa8
align CI with the upstream settings for Actions (#393)
shiftkey Dec 17, 2020
bf3b649
Add smaller icons (#395)
kevinhikaruevans Dec 27, 2020
d6f003e
update tooling dependencies (#424)
shiftkey Jan 25, 2021
e8d755b
run packaging step on Linux builds if all other CI steps pass (#435)
shiftkey Feb 15, 2021
f99def5
enable dependabot monitoring for specific dependencies in project (#440)
shiftkey Feb 15, 2021
adeb09e
bump electron-installer-redhat to latest version (#438)
shiftkey Feb 15, 2021
cdbf0cb
add missing MIME type to AppImage package (#496)
Mrlinkwii May 8, 2021
9d2478e
add section about known issues and add to Linux section (#537)
shiftkey Jun 22, 2021
16ce500
drop prerelease: true from release step in workflow (#551)
shiftkey Jul 6, 2021
0c655b8
refresh smaller icons to use new theme (#530)
shiftkey Jul 6, 2021
2b21cce
[docs] add new section for org repos (#552)
shiftkey Jul 6, 2021
0fa549a
introduce abstractions to make Flatpak integration easier (#555)
shiftkey Jul 14, 2021
07026fe
escape paths with regex over quotes in flatpaks (#558)
Lunarequest Jul 19, 2021
431739b
point window icon to new version (#561)
shiftkey Jul 19, 2021
9b76e1f
detect and support running post-install script with offline yarn (#567)
shiftkey Jul 22, 2021
f957a1e
assorted lint fixes not caught by CI
shiftkey Aug 13, 2021
e0dcd74
submodules should be updated if OFFLINE=1 is not set (#587)
shiftkey Aug 30, 2021
74a2677
Add instructions for opensuse dist in README.md (#592)
gaganyadav80 Sep 5, 2021
2452b15
Flatpak: locate and launch flatpaked code editors (#602)
Lunarequest Sep 30, 2021
5765fbe
fixed a typo in the README (#605)
foxler2010 Sep 30, 2021
041ba1d
move icons to correct location, update usages in tooling (#606)
shiftkey Oct 3, 2021
69190fa
enable release job to access contents
shiftkey Oct 22, 2021
a0d842d
Changed apt-get to apt in the debian installation section of the read…
reyespinosa1996 Feb 13, 2022
de342d2
Add mirror to README (#667)
mwt Mar 12, 2022
7f8aa9e
reformat helper file related to spawning flatpak
shiftkey Apr 3, 2022
988b869
Add additional validation to find the app-specific argument we requir…
shiftkey Apr 3, 2022
2c4e222
update Actions CI status in README
shiftkey Apr 3, 2022
ea492a6
move electron-winstaller to optional dependency to not block arm32 usage
shiftkey Apr 15, 2022
9cb6010
Add support for GNOME console and newer GNOME editors (#700)
Etaash-mathamsetty Apr 21, 2022
ae4112f
Adds LXTerminal to terminals and Geany and Mousepad to supported edit…
theofficialgman May 7, 2022
481ae0d
add armv7l support to scripts (#712)
theofficialgman May 7, 2022
f9e9dd4
appease typechecker by detecting arm architecture when running Node 18
shiftkey Dec 20, 2023
bf11321
Linux build does not have the equivalent of beta channel
shiftkey Jul 7, 2022
d554aeb
allow for packaging parameters to be derived from process.arch (#774)
shiftkey Oct 15, 2022
f2aa406
Fix args processing on first launch on linux (#793)
sarim Feb 17, 2023
f04f96b
refresh docs to move away from PackageCloud (#836)
shiftkey Feb 20, 2023
7d152f6
Update readme to use new mirror origin (#838)
mwt Feb 20, 2023
dc95aa2
doc: rename GPG public key file to use .gpg extension (#839)
phanect Feb 22, 2023
6f12316
patch `electron-installer-redhat` to disable `.build-id` links in dir…
shiftkey Feb 26, 2023
7414e7f
Delete FUNDING.yml
shiftkey Feb 26, 2023
2113e77
change keyring path to more predictable directory (#843)
shiftkey Mar 1, 2023
89a8249
upgrade to supported Ubuntu runner (#863)
shiftkey Apr 7, 2023
d00af01
Bump electron-installer-redhat from 3.3.0 to 3.4.0 (#848)
dependabot[bot] Apr 7, 2023
ff67ba9
moved OpenSUSE instructions to separate steps (#864)
shiftkey Apr 7, 2023
7db5585
reformat changed files
shiftkey Jul 3, 2023
aaa08a9
Add support for Flatpak installs of several editors (#887)
FloridaMan7588 Jul 3, 2023
f772584
remove geany as supported editor because it doesn't work as expected …
shiftkey Jul 3, 2023
5fb282c
bump dugite to v2.5.1 to get support for older glibc versions
shiftkey Jul 8, 2023
4fae82b
restore missing electron-builder package
shiftkey Jul 8, 2023
6b37bfe
switch Linux build over to use configured docker image (#898)
shiftkey Jul 9, 2023
e3a588c
enable workflow for ARM32/ARM64 on Ubuntu (#897)
theofficialgman Jul 9, 2023
e11edac
introduce separate publish step which runs after build (#899)
shiftkey Jul 10, 2023
b3eb476
add support for generating release notes from upstream release (#900)
shiftkey Jul 10, 2023
69d9220
allow for -test1 versioning with release tag
shiftkey Jul 11, 2023
9bafea2
tweak release notes output so that checksum is before file name
shiftkey Jul 11, 2023
6e89801
backport some release fixes after initial testing (#905)
shiftkey Jul 13, 2023
2d20c74
Bump actions/download-artifact from 2 to 3 (#907)
dependabot[bot] Jul 17, 2023
4811c3f
Docs: add GNOME Terminal immutability to known issues. (#910)
khawkins98 Jul 29, 2023
f36b22e
Bump electron-builder from 24.4.0 to 24.6.3 (#914)
dependabot[bot] Jul 31, 2023
2e4e584
backport patches from previous release (#915)
shiftkey Aug 6, 2023
867c239
Bump electron-packager from 17.1.1 to 17.1.2 (#916)
dependabot[bot] Aug 21, 2023
ff46c2f
Bump electron-installer-debian from 3.1.0 to 3.2.0 (#917)
dependabot[bot] Aug 26, 2023
a378069
Bump electron-builder from 24.6.3 to 24.6.4 (#926)
dependabot[bot] Sep 4, 2023
afa95c7
Add an option to use the Windows title bar (#912)
mon-jai Oct 8, 2023
16f0a08
add support for vscodium insiders (#928)
Ujhhgtg Oct 8, 2023
5d75f29
use same node version when generating release notes because prebuilds…
shiftkey Oct 8, 2023
4913168
do not install python on linux runners (#955)
shiftkey Nov 26, 2023
cd10351
Bump actions/setup-node from 3 to 4 (#949)
dependabot[bot] Nov 26, 2023
7f8f220
drop unnecessary preamble from issue template (#956)
shiftkey Nov 27, 2023
0723dc6
upgrade to Electron 26.6.1 (#961)
shiftkey Nov 27, 2023
0846627
Bump electron-builder from 24.6.4 to 24.9.1 (#959)
dependabot[bot] Nov 27, 2023
04529ea
Bump github/codeql-action from 2 to 3 (#976)
dependabot[bot] Dec 18, 2023
87ad288
bugfix: only set the popup for restarting when the title bar style ha…
shiftkey Dec 18, 2023
f589a5f
bugfix: use env.NODE_VERSION instead of matrix.node placeholder
shiftkey Dec 20, 2023
7b6808e
add alternate branch to better build up commit history
shiftkey Dec 20, 2023
737fb81
added Intellij Idea Ultimate and Goland under Linux IDE options (#985)
shiftkey Dec 20, 2023
59a9eaf
update @types/node to later version to try and sync with upstream cha…
shiftkey Dec 20, 2023
e035053
Add additional link to known issues doc (#984)
shiftkey Dec 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
name: 🐛 Bug Report
description: File a bug report
body:
- type: markdown
attributes:
value: |
Thanks for filing a bug report! This issue tracker is for [GitHub Desktop](https://desktop.github.com). Please search the issue tracker to see if there is an existing issue for the problem you are experiencing. If you are experiencing issues with the Linux fork of GitHub Desktop please open an issue [in its repository](https://github.com/shiftkey/desktop). If you are experiencing issues with github.com please [contact GitHub Support](https://support.github.com/).
- type: textarea
id: the-problem
attributes:
Expand Down
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/installation-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: "\U0001F4BB Installation issue"
about: Report a problem when installing the application
title: ''
labels: ''
assignees: ''

---

### Operating System/Distribution

Which distribution of Linux are you using?

### Installer

Which version of the app?
Which installer type?

### What happened?

Provide as much detail as possible. Error messages or output are extremely useful.
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,13 @@ updates:
directory: /
schedule:
interval: weekly

- package-ecosystem: 'npm'
directory: '/'
open-pull-requests-limit: 5
schedule:
interval: 'weekly'
allow:
- dependency-name: 'electron-builder'
- dependency-name: 'electron-packager'
- dependency-name: 'electron-installer-*'
282 changes: 205 additions & 77 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,17 @@ on:
push:
branches:
- development
- linux
- linux-vnext
- 'linux-release-*'
tags:
- 'release-*.*.*-linux*'
- 'release-*.*.*-test*'
pull_request:
workflow_call:
inputs:
repository:
default: desktop/desktop
required: false
type: string
ref:
required: true
type: string
upload-artifacts:
default: false
required: false
type: boolean
environment:
type: string
required: true
sign:
type: boolean
default: true
required: false
secrets:
AZURE_CODE_SIGNING_TENANT_ID:
AZURE_CODE_SIGNING_CLIENT_ID:
AZURE_CODE_SIGNING_CLIENT_SECRET:
DESKTOP_OAUTH_CLIENT_ID:
DESKTOP_OAUTH_CLIENT_SECRET:
APPLE_ID:
APPLE_ID_PASSWORD:
APPLE_TEAM_ID:
APPLE_APPLICATION_CERT:
APPLE_APPLICATION_CERT_PASSWORD:
branches:
- linux
- linux-vnext
- 'linux-release-*'

env:
NODE_VERSION: 18.16.1
Expand Down Expand Up @@ -65,60 +44,157 @@ jobs:
build:
name: ${{ matrix.friendlyName }} ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
container: ${{ matrix.image }}
permissions:
contents: read
contents: write
strategy:
fail-fast: false
matrix:
os: [macos-13-xl-arm64, windows-2019]
os: [macos-13, windows-2019, ubuntu-20.04]
arch: [x64, arm64]
include:
- os: macos-13-xl-arm64
- os: macos-13
friendlyName: macOS
- os: windows-2019
friendlyName: Windows
- os: ubuntu-20.04
friendlyName: Ubuntu
image: ubuntu:18.04
arch: x64
environment:
AS: as
STRIP: strip
AR: ar
CC: gcc
CPP: cpp
CXX: g++
LD: ld
FC: gfortran
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
- os: ubuntu-20.04
friendlyName: Ubuntu
image: ubuntu:18.04
arch: arm64
environment:
AS: aarch64-linux-gnu-as
STRIP: aarch64-linux-gnu-strip
AR: aarch64-linux-gnu-ar
CC: aarch64-linux-gnu-gcc
CPP: aarch64-linux-gnu-cpp
CXX: aarch64-linux-gnu-g++
LD: aarch64-linux-gnu-ld
FC: aarch64-linux-gnu-gfortran
PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
- os: ubuntu-20.04
friendlyName: Ubuntu
image: ubuntu:18.04
arch: arm
environment:
AS: arm-linux-gnueabihf-as
STRIP: arm-linux-gnueabihf-strip
AR: arm-linux-gnueabihf-ar
CC: arm-linux-gnueabihf-gcc
CPP: arm-linux-gnueabihf-cpp
CXX: arm-linux-gnueabihf-g++
LD: arm-linux-gnueabihf-ld
FC: arm-linux-gnueabihf-gfortran
PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig

timeout-minutes: 60
env:
RELEASE_CHANNEL: ${{ inputs.environment }}
AS: ${{ matrix.environment.AS }}
STRIP: ${{ matrix.environment.STRIP }}
AR: ${{ matrix.environment.AR }}
CC: ${{ matrix.environment.CC }}
CPP: ${{ matrix.environment.CPP }}
CXX: ${{ matrix.environment.CXX }}
LD: ${{ matrix.environment.LD }}
FC: ${{ matrix.environment.FC }}
PKG_CONFIG_PATH: ${{ matrix.environment.PKG_CONFIG_PATH }}
npm_config_arch: ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies into dockerfile on Ubuntu
if: matrix.friendlyName == 'Ubuntu'
run: |
# ubuntu dockerfile is very minimal (only 122 packages are installed)
# add dependencies expected by scripts
apt update
apt install -y software-properties-common lsb-release \
sudo wget curl build-essential jq autoconf automake \
pkg-config ca-certificates rpm
# install new enough git to run actions/checkout
sudo add-apt-repository ppa:git-core/ppa -y
sudo apt update
sudo apt install -y git
# avoid "fatal: detected dubious ownership in repository at '/__w/shiftkey/desktop'" error
git config --global --add safe.directory '*'
- name: Add additional dependencies for Ubuntu x64
if: ${{ matrix.friendlyName == 'Ubuntu' && matrix.arch == 'x64' }}
run: |
# add electron unit test dependencies
sudo apt install -y libasound2 libatk-bridge2.0-0 libatk1.0-0 \
libatspi2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libdrm2 \
libexpat1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 \
libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 \
libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 \
libsecret-1-0
- name: Add additional dependencies for Ubuntu arm64
if: ${{ matrix.friendlyName == 'Ubuntu' && matrix.arch == 'arm64' }}
run: |
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
- name: Add additional dependencies for Ubuntu arm
if: ${{ matrix.friendlyName == 'Ubuntu' && matrix.arch == 'arm' }}
run: |
sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf pkg-config-arm-linux-gnueabihf
sudo sed -i "s/^deb/deb [arch=amd64,i386]/g" /etc/apt/sources.list
echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ $(lsb_release -s -c) main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ $(lsb_release -s -c)-updates main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install -y libx11-dev:armhf libx11-xcb-dev:armhf libxkbfile-dev:armhf libsecret-1-dev:armhf
- uses: actions/checkout@v3
with:
repository: ${{ inputs.repository || github.repository }}
ref: ${{ inputs.ref }}
submodules: recursive
- uses: actions/setup-python@v5
if: matrix.friendlyName != 'Ubuntu'
with:
python-version: '3.11'
- name: Use Node.js ${{ env.NODE_VERSION }}
if: matrix.friendlyName != 'Ubuntu'
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn

- name:
Install unofficial-builds Node.js ${{ env.NODE_VERSION }} on Ubuntu
if: matrix.friendlyName == 'Ubuntu'
run: |
# This version supports older GLIBC (official builds required a minimum of GLIBC 2.28)
# this might break if you bump the `env.NODE_VERSION` version - ensure you are on the latest version
# of which ever major/minor release which should have this variant available
#
# See https://github.com/nodejs/unofficial-builds/ for more information on these versions.
#
curl -sL 'https://unofficial-builds.nodejs.org/download/release/v${{ env.NODE_VERSION }}/node-v${{ env.NODE_VERSION }}-linux-x64-glibc-217.tar.xz' | xzcat | sudo tar -vx --strip-components=1 -C /usr/local/
sudo npm install --global yarn
# This step can be removed as soon as official Windows arm64 builds are published:
# https://github.com/nodejs/build/issues/2450#issuecomment-705853342
#
# This version is pinned to 18.16.0 as the later version does not have the required
# `win-arm64/node.lib` output that we can consume in this CI build.
- name: Get NodeJS node-gyp lib for Windows arm64
if: ${{ matrix.os == 'windows-2019' && matrix.arch == 'arm64' }}
run: .\script\download-nodejs-win-arm64.ps1 ${{ env.NODE_VERSION }}

run: .\script\download-nodejs-win-arm64.ps1 18.16.0
- name: Get app version
id: version
run: echo version=$(jq -r ".version" app/package.json) >> $GITHUB_OUTPUT
- name: Install and build dependencies
run: yarn
env:
npm_config_arch: ${{ matrix.arch }}
TARGET_ARCH: ${{ matrix.arch }}
- name: Build production app
run: yarn build:prod
env:
DESKTOP_OAUTH_CLIENT_ID: ${{ secrets.DESKTOP_OAUTH_CLIENT_ID }}
DESKTOP_OAUTH_CLIENT_SECRET:
${{ secrets.DESKTOP_OAUTH_CLIENT_SECRET }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_APPLICATION_CERT: ${{ secrets.APPLE_APPLICATION_CERT }}
KEY_PASSWORD: ${{ secrets.APPLE_APPLICATION_CERT_PASSWORD }}
npm_config_arch: ${{ matrix.arch }}
TARGET_ARCH: ${{ matrix.arch }}
- name: Prepare testing environment
if: matrix.arch == 'x64'
run: yarn test:setup
Expand All @@ -130,31 +206,83 @@ jobs:
- name: Run script tests
if: matrix.arch == 'x64'
run: yarn test:script
- name: Install Azure Code Signing Client
if: ${{ runner.os == 'Windows' && inputs.sign }}
run: |
$acsZip = Join-Path $env:RUNNER_TEMP "acs.zip"
$acsDir = Join-Path $env:RUNNER_TEMP "acs"
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Azure.CodeSigning.Client/1.0.38 -OutFile $acsZip -Verbose
Expand-Archive $acsZip -Destination $acsDir -Force -Verbose
# Replace ancient signtool in electron-winstall with one that supports ACS
Copy-Item -Path "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\*" -Include signtool.exe,signtool.exe.manifest,Microsoft.Windows.Build.Signing.mssign32.dll.manifest,mssign32.dll,Microsoft.Windows.Build.Signing.wintrust.dll.manifest,wintrust.dll,Microsoft.Windows.Build.Appx.AppxSip.dll.manifest,AppxSip.dll,Microsoft.Windows.Build.Appx.AppxPackaging.dll.manifest,AppxPackaging.dll,Microsoft.Windows.Build.Appx.OpcServices.dll.manifest,OpcServices.dll -Destination "node_modules\electron-winstaller\vendor" -Verbose
- name: Package production app
run: yarn package
env:
npm_config_arch: ${{ matrix.arch }}
AZURE_TENANT_ID: ${{ secrets.AZURE_CODE_SIGNING_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CODE_SIGNING_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CODE_SIGNING_CLIENT_SECRET }}
- name: Upload artifacts
- name: Package application
run: yarn run package
if: ${{ matrix.friendlyName == 'Ubuntu' }}
- name: Upload output artifacts
uses: actions/upload-artifact@v3
if: ${{ inputs.upload-artifacts }}
if: matrix.friendlyName == 'Ubuntu'
with:
name: ${{matrix.friendlyName}}-${{matrix.arch}}
name: ${{ matrix.friendlyName }}-${{ matrix.arch }}-artifacts
path: |
dist/GitHub Desktop-${{matrix.arch}}.zip
dist/GitHubDesktop-*.nupkg
dist/GitHubDesktopSetup-${{matrix.arch}}.exe
dist/GitHubDesktopSetup-${{matrix.arch}}.msi
dist/bundle-size.json
if-no-files-found: error
dist/*.AppImage
dist/*.deb
dist/*.rpm
dist/*.sha256
retention-days: 5

publish:
name: Create GitHub release
needs: [build, lint]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
steps:
- uses: actions/checkout@v3

- name: Use Node.js 18.14.0
uses: actions/setup-node@v4
with:
node-version: 18.14.0
cache: yarn

- name: Download all artifacts
uses: actions/download-artifact@v3
with:
path: './artifacts'

- name: Display structure of downloaded files
run: ls -R
working-directory: './artifacts'

- name: Get tag name without prefix
run: |
RELEASE_TAG=${GITHUB_REF/refs\/tags\//}
echo "RELEASE_TAG=${RELEASE_TAG}" >> $GITHUB_ENV
tagNameWithoutPrefix="${RELEASE_TAG:8}"
echo "RELEASE_TAG_WITHOUT_PREFIX=${tagNameWithoutPrefix}" >> $GITHUB_ENV

# TODO: generate release notes
# - pull in default if version matches X.Y.Z-linux1
# - otherwise stub template

- name: Generate release notes
run: |
node -v
yarn
node -r ts-node/register script/generate-release-notes.ts "${{ github.workspace }}/artifacts" "${{ env.RELEASE_TAG_WITHOUT_PREFIX }}"
RELEASE_NOTES_FILE=script/release_notes.txt
if [[ ! -f "$RELEASE_NOTES_FILE" ]]; then
echo "$RELEASE_NOTES_FILE does not exist. Something might have gone wrong while generating the release notes."
exit 1
fi
echo "Release notes:"
echo "---"
cat ${RELEASE_NOTES_FILE}
echo "---"

- name: Create Release
uses: softprops/action-gh-release@v1
with:
name: GitHub Desktop for Linux ${{ env.RELEASE_TAG_WITHOUT_PREFIX }}
body_path: script/release_notes.txt
files: |
artifacts/**/*.AppImage
artifacts/**/*.deb
artifacts/**/*.rpm
artifacts/**/*.sha256
draft: true
fail_on_unmatched_files: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading
Loading