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

Bump actions/download-artifact from 3 to 4 #987

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
b6cf2e3
update documentation and README for Linux support
shiftkey Nov 20, 2018
3a4fcdb
add electron-builder config to repository
shiftkey Nov 1, 2018
4a278d0
redirect in-app menu for reporting an issue to the fork (#141)
shiftkey Apr 19, 2019
8a48cec
workaround for Linux users of the app to use it on very low resolutio…
shiftkey May 30, 2019
14a2270
add CLI support to Debian package, add Elementary OS shell and editor…
jfgordon2 Mar 29, 2020
d9bd247
polish About modal for Linux build (#241)
jfgordon2 Mar 30, 2020
0b24e3a
Detach CLI process from terminal (#239)
jfgordon2 Mar 30, 2020
cafeb74
Added test for symlinks
jfgordon2 Apr 14, 2020
1dd268c
set filemode for chrome-sandbox to reflect the permissions it needs (…
shiftkey Apr 16, 2020
44cbb1c
move debian packaging out to dedicated step (#263)
shiftkey Apr 23, 2020
d8048a8
move redhat packaging out to own step (#273)
shiftkey May 17, 2020
00838e6
readme: add language property to code blocks (#287)
serkonda7 May 30, 2020
44f25eb
run codeql on linux branch (#302)
shiftkey Jun 24, 2020
581151c
allow tilde character when specifying a local repository (#316)
Daniel-McCarthy Aug 4, 2020
a764303
remove deprecated apt-key from installation setup (#354)
KrisAphalon Oct 24, 2020
7cd1964
align CI with the upstream settings for Actions (#393)
shiftkey Dec 17, 2020
1e0082a
Add smaller icons (#395)
kevinhikaruevans Dec 27, 2020
2be6df1
update tooling dependencies (#424)
shiftkey Jan 25, 2021
93f2701
run packaging step on Linux builds if all other CI steps pass (#435)
shiftkey Feb 15, 2021
9113d61
enable dependabot monitoring for specific dependencies in project (#440)
shiftkey Feb 15, 2021
aa5bbdb
bump electron-installer-redhat to latest version (#438)
shiftkey Feb 15, 2021
e5d76d6
add missing MIME type to AppImage package (#496)
Mrlinkwii May 8, 2021
257b267
add section about known issues and add to Linux section (#537)
shiftkey Jun 22, 2021
359a5b0
drop prerelease: true from release step in workflow (#551)
shiftkey Jul 6, 2021
db4ce9b
refresh smaller icons to use new theme (#530)
shiftkey Jul 6, 2021
2608a2a
[docs] add new section for org repos (#552)
shiftkey Jul 6, 2021
6d15a5b
introduce abstractions to make Flatpak integration easier (#555)
shiftkey Jul 14, 2021
5ca41bb
escape paths with regex over quotes in flatpaks (#558)
Lunarequest Jul 19, 2021
5d0e702
point window icon to new version (#561)
shiftkey Jul 19, 2021
5430a5a
detect and support running post-install script with offline yarn (#567)
shiftkey Jul 22, 2021
6ff13b5
submodules should be updated if OFFLINE=1 is not set (#587)
shiftkey Aug 30, 2021
e244294
Add instructions for opensuse dist in README.md (#592)
gaganyadav80 Sep 5, 2021
326a8d5
Flatpak: locate and launch flatpaked code editors (#602)
Lunarequest Sep 30, 2021
270ad91
fixed a typo in the README (#605)
foxler2010 Sep 30, 2021
b8b3338
move icons to correct location, update usages in tooling (#606)
shiftkey Oct 3, 2021
c18225a
enable release job to access contents
shiftkey Oct 22, 2021
6922404
Changed apt-get to apt in the debian installation section of the read…
reyespinosa1996 Feb 13, 2022
07145bb
Add mirror to README (#667)
mwt Mar 12, 2022
f5fe104
reformat helper file related to spawning flatpak
shiftkey Apr 3, 2022
4626ad0
Add additional validation to find the app-specific argument we requir…
shiftkey Apr 3, 2022
d316f3a
update Actions CI status in README
shiftkey Apr 3, 2022
9d3c74e
move electron-winstaller to optional dependency to not block arm32 usage
shiftkey Apr 15, 2022
506fbe2
Add support for GNOME console and newer GNOME editors (#700)
Etaash-mathamsetty Apr 21, 2022
e6909cf
Adds LXTerminal to terminals and Geany and Mousepad to supported edit…
theofficialgman May 7, 2022
01cc762
add armv7l support to scripts (#712)
theofficialgman May 7, 2022
6f17247
appease typechecker by detecting arm architecture when running Node 18
shiftkey Dec 20, 2023
e25d122
Linux build does not have the equivalent of beta channel
shiftkey Jul 7, 2022
f093768
allow for packaging parameters to be derived from process.arch (#774)
shiftkey Oct 15, 2022
abb3a48
Fix args processing on first launch on linux (#793)
sarim Feb 17, 2023
8d71c08
refresh docs to move away from PackageCloud (#836)
shiftkey Feb 20, 2023
698a8ab
Update readme to use new mirror origin (#838)
mwt Feb 20, 2023
ee6cd37
doc: rename GPG public key file to use .gpg extension (#839)
phanect Feb 22, 2023
0744685
patch `electron-installer-redhat` to disable `.build-id` links in dir…
shiftkey Feb 26, 2023
24e9d47
change keyring path to more predictable directory (#843)
shiftkey Mar 1, 2023
01defac
upgrade to supported Ubuntu runner (#863)
shiftkey Apr 7, 2023
a795449
Bump electron-installer-redhat from 3.3.0 to 3.4.0 (#848)
dependabot[bot] Apr 7, 2023
ca9b89d
moved OpenSUSE instructions to separate steps (#864)
shiftkey Apr 7, 2023
836bb76
Add support for Flatpak installs of several editors (#887)
FloridaMan7588 Jul 3, 2023
25dc995
remove geany as supported editor because it doesn't work as expected …
shiftkey Jul 3, 2023
bd1f27c
switch Linux build over to use configured docker image (#898)
shiftkey Jul 9, 2023
7c87a46
enable workflow for ARM32/ARM64 on Ubuntu (#897)
theofficialgman Jul 9, 2023
b9d802f
introduce separate publish step which runs after build (#899)
shiftkey Jul 10, 2023
1e07150
add support for generating release notes from upstream release (#900)
shiftkey Jul 10, 2023
1e3b3b9
allow for -test1 versioning with release tag
shiftkey Jul 11, 2023
a71f5a9
tweak release notes output so that checksum is before file name
shiftkey Jul 11, 2023
b16723a
backport some release fixes after initial testing (#905)
shiftkey Jul 13, 2023
578cf65
Bump actions/download-artifact from 2 to 3 (#907)
dependabot[bot] Jul 17, 2023
0c604c2
Docs: add GNOME Terminal immutability to known issues. (#910)
khawkins98 Jul 29, 2023
8dbb97c
Bump electron-builder from 24.4.0 to 24.13.3 (#914 #926 #959 #1015)
dependabot[bot] Jul 31, 2023
2a527bd
backport patches from previous release (#915)
shiftkey Aug 6, 2023
af2da1e
Bump electron-packager from 17.1.1 to 17.1.2 (#916)
dependabot[bot] Aug 21, 2023
56c3cdf
Bump electron-installer-debian from 3.1.0 to 3.2.0 (#917)
dependabot[bot] Aug 26, 2023
fe3d375
Add an option to use the Windows title bar (#912)
mon-jai Oct 8, 2023
2bdbc23
add support for vscodium insiders (#928)
Ujhhgtg Oct 8, 2023
2ac0488
use same node version when generating release notes because prebuilds…
shiftkey Oct 8, 2023
67b2b16
do not install python on linux runners (#955)
shiftkey Nov 26, 2023
528fd1a
Bump actions/setup-node from 3 to 4 (#949)
dependabot[bot] Nov 26, 2023
6e21d01
drop unnecessary preamble from issue template (#956)
shiftkey Nov 27, 2023
8a7a803
bugfix: use env.NODE_VERSION instead of matrix.node placeholder
shiftkey Dec 20, 2023
37b0b72
add alternate branch to better build up commit history
shiftkey Dec 20, 2023
25d0ad0
added Intellij Idea Ultimate and Goland under Linux IDE options (#985)
shiftkey Dec 20, 2023
88e39a0
update @types/node to later version to try and sync with upstream cha…
shiftkey Dec 20, 2023
6e767a7
Add additional link to known issues doc (#984)
shiftkey Dec 20, 2023
a609266
Add Pluma support for Linux external editor options (#996)
zmac-dev Feb 4, 2024
aaff5a1
Use Ctrl+Q to quit (#997)
kra-mo Feb 4, 2024
ea0a400
Bump softprops/action-gh-release from 1 to 2 (#1021)
dependabot[bot] Mar 12, 2024
cd0c2fd
bump electron to latest v28 release (#1035)
shiftkey Mar 31, 2024
2430e43
add additional dependencies specific to this fork to the dependabot c…
shiftkey Mar 31, 2024
c687d9d
Bump yaml from 1.4.0 to 2.4.1 (#1037)
dependabot[bot] Mar 31, 2024
37ec1f7
Bump patch-package from 6.5.1 to 8.0.0 (#1038)
dependabot[bot] Mar 31, 2024
4687f72
Bump yaml from 2.4.1 to 2.4.2 (#1056)
dependabot[bot] May 27, 2024
d057020
Add support for Pycharm Professional from snap (#1063)
GheorgheMorari May 27, 2024
64f6d35
Add support for VSCodium Snap (#1058)
TwitchSolvesCube May 27, 2024
5484b0f
Bump actions/download-artifact from 3 to 4
dependabot[bot] May 28, 2024
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.
15 changes: 13 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,16 @@ updates:
directory: /
schedule:
interval: weekly
# Disable version updates and keep only security updates
open-pull-requests-limit: 0
- 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-*'
- dependency-name: 'xvfb-maybe'
- dependency-name: 'yaml'
- dependency-name: 'patch-package'
- dependency-name: 'postinstall-postinstall'
284 changes: 206 additions & 78 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/Microsoft.Trusted.Signing.Client/1.0.52 -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
uses: actions/upload-artifact@v4
if: ${{ inputs.upload-artifacts }}
- name: Package application
run: yarn run package
if: ${{ matrix.friendlyName == 'Ubuntu' }}
- name: Upload output artifacts
uses: actions/upload-artifact@v3
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@v4
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@v2
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 }}
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 'Code scanning - action'

on:
push:
branches: ['development']
branches: ['development', 'linux']
pull_request:
branches: ['development']
schedule:
Expand Down
Loading
Loading