Skip to content

Commit 39bedef

Browse files
committed
Merge branch 'main' into feat/webpack-to-vite
Signed-off-by: Adam Setch <adam.setch@outlook.com>
2 parents 503819f + fa72592 commit 39bedef

8 files changed

Lines changed: 1731 additions & 29564 deletions

File tree

.github/workflows/publish.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,33 @@ permissions:
88
contents: write
99

1010
jobs:
11+
prepare:
12+
name: Prepare draft release
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98
17+
18+
- name: Parse release branch
19+
if: startsWith(github.ref, 'refs/heads/release/')
20+
run: |
21+
# Extract the branch name (e.g. release/v1.2.3[-meta])
22+
ref=${GITHUB_REF#refs/heads/}
23+
echo "RELEASE_BRANCH=$ref" >> $GITHUB_ENV
24+
# Also export a RELEASE_TAG by removing the `release/` prefix (keeps leading 'v')
25+
tag=${ref#release/}
26+
echo "RELEASE_TAG=$tag" >> $GITHUB_ENV
27+
shell: bash
28+
29+
- name: Create draft release
30+
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
31+
with:
32+
name: "${{ env.RELEASE_TAG }}"
33+
tag_name: "${{ env.RELEASE_TAG }}"
34+
draft: true
35+
body: '# <img src="https://github.com/gitify-app/gitify/blob/3554605d32a6c08a3d4ec17b02b90e2dd276a152/assets/images/tray-active%402x.png" /> Gitify ${{ env.RELEASE_TAG }}'
36+
generate_release_notes: true
37+
1138
release:
1239
name: Publish ${{ matrix.platform }} (electron-builder)
1340
strategy:

CONTRIBUTING.md

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,20 +67,27 @@ If you encounter a bug or have a feature request, please [open an issue][github-
6767

6868
The release process is automated. Follow the steps below.
6969

70-
1. Verify that all features you want targeted in the release have been merged to `main`.
71-
2. Check the [Renovate Dependency Dashboard][github-dependency-dashboard] to see if there are any updates you want included.
72-
3. Create a [new **draft** release][github-new-release]. Set the tag version to something with the format of `v1.2.3`. Save as a **draft** before moving to the next step
73-
4. Create a branch that starts with `release/vX.X.X` (ie. `release/v1.2.3`). In this branch you need to:
74-
* Run `pnpm version <new-version-number` to **bump the version** of the app .
75-
* Commit these changes and open a PR. A GitHub Actions workflow will build, sign and upload the release assets for each commit to that branch as long as a branch is named like `release/vX.X.X` and there is a draft release with the same version number(`package.json`).
76-
5. Merge your release branch into `main`.
77-
6. Publish the release once you've finalized the release notes and confirmed all assets are there.
78-
7. Edit current [Milestone][github-milestones] to have:
79-
* description: link to the release notes
80-
* due date: date of release
81-
* close milestone
82-
8. Create a [New Milestone][github-new-milestone] for upcoming release.
83-
9. A new homebrew cask will be [automatically published][homebrew-cask-autobump-workflow] (workflow runs ~3 hours)
70+
1. **Verify features:** Ensure all features and fixes you want included in the release are merged into `main`.
71+
2. **Check dependencies:** Review the [Renovate Dependency Dashboard][github-dependency-dashboard] for any dependency updates you want to include.
72+
3. **Create a release branch:**
73+
- Name your branch `release/vX.X.X` (e.g., `release/v1.2.3`).
74+
- Run `pnpm version <new-version-number>` to **bump the version** in `package.json` and create a version commit/tag.
75+
- Update `sonar.projectVersion` within `sonar-project.properties`
76+
- Commit and push these changes.
77+
- Open a Pull Request (PR) from your release branch.
78+
4. **GitHub release:** GitHub Actions will automatically build, sign, and upload release assets to a new draft release with automated release notes.
79+
5. **Merge the release branch:** Once the PR is approved and checks pass, merge your release branch into `main`.
80+
6. **Publish the release:**
81+
- Finalize the release notes in the draft release on GitHub.
82+
- Confirm all assets are present and correct.
83+
- Publish the release.
84+
7. **Update milestones:**
85+
- Edit the current [Milestone][github-milestones]:
86+
- Add a link to the release notes in the description.
87+
- Set the due date to the release date.
88+
- Close the milestone.
89+
- Create a [New Milestone][github-new-milestone] for the next release cycle.
90+
8. A new homebrew cask will be [automatically published][homebrew-cask-autobump-workflow] (workflow runs ~3 hours)
8491

8592
### Design Guidelines
8693

README.md

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,56 @@
66
77
![Gitify][gitify-social]
88

9-
### Download
9+
---
1010

11-
You can download Gitify for **free** from [gitify.io][website] or install it via [Homebrew Cask][brew].
11+
## Features
1212

13+
- 🔔 Unified notifications from GitHub Cloud & GitHub Enterprise Server
14+
- 💻 Cross-platform: macOS, Windows, and Linux
15+
- 🎨 Customizable settings, filters and themes
16+
- 🖥️ Tray/menu bar integration
17+
- ⚡ Fast, native experience
18+
19+
20+
## Quick Start
21+
22+
1. **Download** Gitify for free from [gitify.io][website].
23+
2. **Install** and launch the app for your platform.
24+
3. **Authenticate** with your GitHub account, Personal Access Token or OAuth client/secret and start receiving notifications.
25+
26+
27+
#### Homebrew
28+
macOS users can also install via [Homebrew][brew]
1329
```shell
1430
brew install gitify
1531
```
1632

17-
Gitify supports macOS, Windows and Linux.
1833

19-
### FAQ
34+
## Build & Development
35+
36+
To build and run Gitify locally:
37+
38+
```shell
39+
pnpm install
40+
pnpm build
41+
pnpm dev
42+
```
43+
44+
See [CONTRIBUTING.md](CONTRIBUTING.md) for full development and contribution instructions.
45+
46+
47+
## FAQ
48+
49+
See our [Gitify FAQs][faqs] for answers to common questions.
50+
2051

21-
Please visit our [Gitify FAQs][faqs] for all commonly asked questions.
52+
## Community & Support
2253

23-
### Contributing
54+
- Open an [issue][github-issues] for bugs or feature requests
55+
- See [CONTRIBUTING.md](CONTRIBUTING.md) for more ways to get involved
2456

25-
Please read our [Contributing Guidelines](CONTRIBUTING.md) for more information.
2657

27-
### License
58+
## License
2859

2960
Gitify is licensed under the MIT Open Source license.
3061
For more information, see [LICENSE](LICENSE).
@@ -37,6 +68,7 @@ For more information, see [LICENSE](LICENSE).
3768

3869
[github]: https://github.com/gitify-app/gitify
3970
[github-actions]: https://github.com/gitify-app/gitify/actions
71+
[github-issues]: https://github.com/gitify-app/gitify/issues
4072
[github-releases]: https://github.com/gitify-app/gitify/releases/latest
4173
[github-website]: https://github.com/gitify-app/website
4274
[github-website-pulls]: https://github.com/gitify-app/website/pulls

codegen.ts

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,15 @@ const config: CodegenConfig = {
1515
},
1616
documents: ['src/renderer/utils/api/**/*.graphql'],
1717
generates: {
18-
'src/renderer/utils/api/graphql/generated/': {
19-
preset: 'client',
20-
presetConfig: {
21-
fragmentMasking: false, // Disables masking
22-
},
18+
'src/renderer/utils/api/graphql/generated/graphql.ts': {
19+
plugins: ['typescript', 'typescript-operations', 'typed-document-node'],
2320
config: {
21+
onlyOperationTypes: true,
2422
documentMode: 'string',
25-
enumsAsTypes: true,
2623
useTypeImports: true,
27-
},
28-
},
29-
'src/renderer/utils/api/graphql/generated/schema.graphql': {
30-
plugins: ['schema-ast'],
31-
config: {
32-
includeDirectives: true,
24+
enumsAsTypes: true,
25+
skipTypename: true,
26+
fragmentMasking: false, // Disables masking
3327
},
3428
},
3529
},

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
"@electron/notarize": "3.1.1",
7979
"@graphql-codegen/cli": "6.1.1",
8080
"@graphql-codegen/schema-ast": "5.0.0",
81+
"@graphql-typed-document-node/core": "3.2.0",
8182
"@octokit/core": "7.0.6",
8283
"@octokit/graphql": "9.0.3",
8384
"@octokit/oauth-methods": "6.0.2",
@@ -107,7 +108,7 @@
107108
"concurrently": "9.2.1",
108109
"date-fns": "4.1.0",
109110
"dotenv": "17.3.1",
110-
"electron": "40.4.0",
111+
"electron": "40.4.1",
111112
"electron-builder": "26.7.0",
112113
"final-form": "5.0.0",
113114
"graphql": "16.12.0",

pnpm-lock.yaml

Lines changed: 11 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/renderer/utils/api/__mocks__/response-mocks.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ export function mockAuthorResponseNode(login: string): AuthorFieldsFragment {
5757
htmlUrl: `https://github.com/${login}` as Link,
5858
avatarUrl: 'https://avatars.githubusercontent.com/u/583231?v=4' as Link,
5959
type: 'User',
60-
__typename: 'User',
6160
} satisfies AuthorFieldsFragment;
6261
}
6362

0 commit comments

Comments
 (0)