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

Apply changes for 3.4.11 release #1199

Merged
merged 49 commits into from
Feb 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
35faf34
docs: update documentation to target Linux support (#287 #354 #537 #5…
shiftkey Nov 20, 2018
de5bfae
feat(tooling): add electron-builder config to repository (#254 #496)
shiftkey Nov 1, 2018
1cf14f6
fix: redirect in-app menu for reporting an issue to the fork (#141)
shiftkey Apr 19, 2019
aeaff6e
fix: allow users to view the app at very low resolution screens
shiftkey May 30, 2019
982fa49
feat: add command line script to debian package (#231 #239)
jfgordon2 Mar 29, 2020
eb24871
fix: update About modal by hiding unsupported features on Linux (#241)
jfgordon2 Mar 30, 2020
f1890af
feat(tooling): detect and support running post-install script with of…
shiftkey Jul 22, 2021
18b64ee
feat(tooling): move debian packaging out to dedicated step (#263)
shiftkey Apr 23, 2020
16750f0
feat(tooling): move redhat packaging out to own step (#273 #837 #1038)
shiftkey May 17, 2020
10d8425
feat(tooling): run codeql on linux branch (#302)
shiftkey Jun 24, 2020
bec3edf
fix: allow tilde character when specifying a local repository (#317)
Daniel-McCarthy Aug 4, 2020
7c8f6e2
feat(tooling): enable dependabot monitoring for specific dependencies…
shiftkey Feb 15, 2021
9a4f749
fix: add smaller icons and align with new theme (#395 #530 #561)
kevinhikaruevans Dec 27, 2020
3aa1d16
fix: move icons to correct location, update usages in tooling (#606)
shiftkey Oct 3, 2021
898d5b8
feat(tooling): flatpak - introduce abstractions to make Flatpak integ…
shiftkey Jul 14, 2021
ac39c15
feat(tooling): flatpak - locate and launch flatpaked code editors (#602)
Lunarequest Sep 30, 2021
fee6d08
fix: Add additional validation to find the app-specific argument we r…
shiftkey Apr 3, 2022
fe578c4
fix(tooling): move electron-winstaller to optional dependency to not …
shiftkey Apr 15, 2022
fa65be9
feat(tooling) add armv7l support to scripts (#712)
theofficialgman May 7, 2022
cc78df8
fix: update electron-builder config to support different architecture…
shiftkey Aug 12, 2024
b22ba4c
fix: update debian config to support different architectures (#774)
shiftkey Aug 12, 2024
7b1ea3b
fix: update redhat config to support different architectures (#774)
shiftkey Aug 12, 2024
06f2aeb
fix: args processing on first launch on linux (#793)
sarim Feb 17, 2023
f83e1c9
feat(tooling): update upstream CI settings to work with fork (#393 #4…
shiftkey Dec 17, 2020
54f3786
feat(tooling): update base CI to use configured docker image (#898)
shiftkey Aug 12, 2024
7ee1461
feat(tooling): update build scripts to support ARM architectures (#898)
shiftkey Aug 12, 2024
f6d8cc5
feat(tooling): update electron-builder package tooling to support AR…
shiftkey Aug 12, 2024
28ef097
feat(tooling): update debian package script to support ARM architectu…
shiftkey Aug 12, 2024
04294f1
feat(tooling): update redhat package script to support ARM architectu…
shiftkey Aug 12, 2024
c0d7195
feat(tooling): enable workflow for ARM32/ARM64 on Ubuntu (#897)
theofficialgman Jul 9, 2023
5e22101
feat(tooling): introduce separate publish step which runs after build…
shiftkey Jul 10, 2023
bf79af8
fix(tooling): assorted changes to the upstream CI configuration
shiftkey Dec 20, 2023
bd53c7b
fix: add an option to use the Windows title bar (#912)
mon-jai Oct 8, 2023
039366d
feat(tooling): scaffold workflows to handle automated rebasing of cha…
shiftkey Jun 2, 2024
a3f8ede
feat(tooling): add support for building and packaging app on Linux
shiftkey Aug 11, 2024
183195d
Bump electron-packager from 17.1.1 to 17.1.2 (#916)
dependabot[bot] Aug 21, 2023
59fdb7b
shells: add Black Box terminal (#1126)
adil192 Sep 15, 2024
bc78b35
build(deps): bump yaml from 2.5.0 to 2.6.0 (#1123 #1140)
dependabot[bot] Sep 15, 2024
a752d2d
build(deps-dev): bump electron-builder from 24.13.3 to 25.1.8 (#1122 …
dependabot[bot] Sep 15, 2024
10cc9e9
build(deps): bump peter-evans/create-pull-request from 6.1.0 to 7.0.5…
dependabot[bot] Sep 15, 2024
ecdc68a
remove windows-argv-parser package and related code (#1156)
shiftkey Nov 8, 2024
2f57209
build(deps): bump yaml from 2.6.0 to 2.7.0 (#1181)
dependabot[bot] Feb 2, 2025
36a5068
build(deps): bump peter-evans/create-pull-request from 7.0.5 to 7.0.6…
dependabot[bot] Feb 2, 2025
9743c2b
build(deps): bump electron-installer-common from 0.10.3 to 0.10.4 (#1…
dependabot[bot] Feb 2, 2025
58eb02f
get `arm` CI building again by forking archived packages (#1190)
shiftkey Feb 4, 2025
1393387
upgrade to latest v32 electron release
shiftkey Feb 9, 2025
25cd3ed
adjust workflow to use this repository name
shiftkey Feb 9, 2025
257eba4
update type signature for update event from electron
shiftkey Feb 9, 2025
9904db7
bump version of node use for publishing
shiftkey Feb 9, 2025
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'
150 changes: 150 additions & 0 deletions .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
name: 'CI / Linux'

on:
push:
branches:
- development
- linux
- 'linux-release-*'
tags:
- 'release-*.*.*-linux*'
- 'release-*.*.*-test*'
pull_request:
branches:
- linux
- linux-vnext
- 'linux-release-*'

jobs:
arm64:
name: Ubuntu arm64
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: ${{ inputs.repository || github.repository }}
ref: ${{ inputs.ref }}
submodules: recursive
- name: Package and test application in container
uses: shiftkey/desktop-ubuntu-arm64-packaging@d5a0346959c7d553eb8dbe2828e7fe2e10147160
- name: Upload output artifacts
uses: actions/upload-artifact@v4
with:
name: ubuntu-arm64-artifacts
path: |
dist/*.AppImage
dist/*.deb
dist/*.rpm
dist/*.sha256
retention-days: 5
if-no-files-found: error
arm:
name: Ubuntu arm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: ${{ inputs.repository || github.repository }}
ref: ${{ inputs.ref }}
submodules: recursive
- name: Package and test application in container
uses: shiftkey/desktop-ubuntu-arm-packaging@48215eee48762e1c919309b2915b8ceb478e5642
- name: Upload output artifacts
uses: actions/upload-artifact@v4
with:
name: ubuntu-arm-artifacts
path: |
dist/*.AppImage
dist/*.deb
dist/*.rpm
dist/*.sha256
retention-days: 5
if-no-files-found: error
amd64:
name: Ubuntu x64
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: ${{ inputs.repository || github.repository }}
ref: ${{ inputs.ref }}
submodules: recursive
- name: Package and test application in container
uses: shiftkey/desktop-ubuntu-amd64-packaging@33a71a92b43e54694726382d1e4029a91fe894cc
- name: Upload output artifacts
uses: actions/upload-artifact@v4
with:
name: ubuntu-amd64-artifacts
path: |
dist/*.AppImage
dist/*.deb
dist/*.rpm
dist/*.sha256
retention-days: 5
if-no-files-found: error

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

- name: Use Node.js 20.17.0
uses: actions/setup-node@v4
with:
node-version: 20.17.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 }}
11 changes: 9 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@ on:
push:
branches:
- development
- linux
- 'linux-release-*'
tags:
- 'release-*.*.*-linux*'
pull_request:
branches:
- linux
- 'linux-release-*'
workflow_call:
inputs:
repository:
Expand Down Expand Up @@ -70,10 +77,10 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-13-xl-arm64, windows-2019]
os: [macos-13, windows-2019]
arch: [x64, arm64]
include:
- os: macos-13-xl-arm64
- os: macos-13
friendlyName: macOS
- os: windows-2019
friendlyName: Windows
Expand Down
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
74 changes: 74 additions & 0 deletions .github/workflows/create-draft-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: 'Create draft release from upstream'

on:
workflow_dispatch:
inputs:
release:
description: 'Upstream release'
required: true
type: string
publish:
description: 'Whether to publish the release to GitHub on success'
type: boolean
required: false
default: false

jobs:
publish-draft-release:
runs-on: ubuntu-latest
name: Publish draft release
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.CREATE_RELEASE_AUTOMATION_TOKEN }}
- name: Configure git
run: |
git config --global user.name "shiftbot"
git config --global user.email "github@brendanforster.com"
git config --local core.autocrlf "input"
git remote add upstream https://github.com/desktop/desktop.git
shell: bash
- name: Create baseline branch on fork
id: create-baseline-branch
env:
RELEASE_TAG: ${{ inputs.release }}
BASE_BRANCH: 'linux-${{ inputs.release }}'
run: |
git fetch upstream 'refs/tags/*:refs/tags/*'
git fetch origin --unshallow
git checkout -b $BASE_BRANCH $RELEASE_TAG
git push origin $BASE_BRANCH
git config -l --show-origin
shell: bash
- name: Rebase Linux customizations on top of upstream release branch
id: rebase-linux-branch
env:
HEAD_BRANCH: 'apply-changes-${{ inputs.release }}'
BASE_BRANCH: 'linux-${{ inputs.release }}'
UPSTREAM_BRANCH: 'development'
run: |

git fetch origin linux
git fetch origin $UPSTREAM_BRANCH
git checkout -b $HEAD_BRANCH linux
git push origin $HEAD_BRANCH
git submodule update
echo "One last git config output..."
git config -l --show-origin
echo "Commit identifiers before performing rebase..."
echo "BASE_BRANCH: $(git rev-parse $BASE_BRANCH)"
echo "development: $(git rev-parse origin/$UPSTREAM_BRANCH)"
echo "HEAD_BRANCH: $(git rev-parse $HEAD_BRANCH)"
echo "About to run 'git log --oneline --decorate=full --graph $HEAD_BRANCH...origin/$UPSTREAM_BRANCH'..."
git log --oneline --decorate=full --graph $HEAD_BRANCH...origin/$UPSTREAM_BRANCH
echo "About to run 'git rebase --verbose origin/$UPSTREAM_BRANCH $HEAD_BRANCH --onto $BASE_BRANCH'..."
git rebase --verbose origin/$UPSTREAM_BRANCH $HEAD_BRANCH --onto $BASE_BRANCH
git push origin $HEAD_BRANCH
shell: bash
continue-on-error: true
- name: Review current status
id: status
run: |
git status
shell: bash
2 changes: 1 addition & 1 deletion .github/workflows/pr-is-external.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
jobs:
label_issues:
# pull_request.head.label = {owner}:{branch}
if: startsWith(github.event.pull_request.head.label, 'desktop:') == false
if: startsWith(github.event.pull_request.head.label, 'shiftkey:') == false
runs-on: ubuntu-latest
permissions:
pull-requests: write
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
private_key: ${{ secrets.DESKTOP_RELEASES_APP_PRIVATE_KEY }}

- name: Create Release Pull Request
uses: peter-evans/create-pull-request@v6.0.5
uses: peter-evans/create-pull-request@v7.0.6
if: |
startsWith(github.ref, 'refs/heads/releases/') && !contains(github.ref, 'test')
with:
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/sync-with-upstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: 'Sync main branch with upstream'

on: workflow_dispatch

jobs:
sync-with-upstream:
runs-on: ubuntu-latest
name: Sync main branch with upstream
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.CREATE_RELEASE_AUTOMATION_TOKEN }}
- name: Configure git
run: |
git config --global user.name "shiftbot"
git config --global user.email "github@brendanforster.com"
git remote add upstream https://github.com/desktop/desktop.git
shell: bash
- name: Push development changes from upstream to fork
id: sync-development-branch
run: |
git fetch upstream development
git fetch origin --unshallow
git fetch origin development
git checkout -b development upstream/development
git push origin development
shell: bash
- name: Rebase Linux customizations on top of development branch
id: rebase-linux-branch
run: |
git fetch origin linux
git checkout linux
git log linux...development --oneline
git rebase --verbose development linux
shell: bash
continue-on-error: true
- name: Review current status
id: status
run: |
git status
shell: bash
# TODO: force push this when we're confident that the rebase has succeeded?
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ vendor/windows-argv-parser/build/
junit*.xml
*.swp
tslint-rules/
script/release_notes.txt
Loading
Loading