Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 0 additions & 6 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,6 @@ module.exports = {
"plugin:@tanstack/eslint-plugin-query/recommended",
],
rules: {
"prettier/prettier": [
"error",
{
endOfLine: "auto",
},
],
"no-unused-vars": [
"warn",
{
Expand Down
35 changes: 35 additions & 0 deletions .github/actions/pnpm-install/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: "Pnpm install or retrive from cache"
description: "Install dependencies from cache if available"

runs:
using: "composite"
steps:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"

- uses: pnpm/action-setup@v3
name: Install pnpm
id: pnpm-install
with:
version: 10
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install
shell: bash
27 changes: 0 additions & 27 deletions .github/actions/yarn-install/action.yml

This file was deleted.

5 changes: 3 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
- "**.json"
- "**.lock"
- "**.yml"
- "**.yaml"

jobs:
build:
Expand Down Expand Up @@ -43,8 +44,8 @@ jobs:
- name: Copy Google Services file from secrets
run: echo ${{ secrets.GOOGLE_SERVICES_ANDROID_BASE64 }} | base64 --decode > ./google-services.json

- name: Yarn install
uses: ./.github/actions/yarn-install
- name: pnpm install
uses: ./.github/actions/pnpm-install

- name: Setup Expo
uses: expo/expo-github-action@v8
Expand Down
59 changes: 37 additions & 22 deletions .github/workflows/eas-build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ jobs:
- name: Copy Google Services file from secrets
run: echo ${{ secrets.GOOGLE_SERVICES_ANDROID_BASE64 }} | base64 --decode > ./google-services.json

- name: Yarn install
uses: ./.github/actions/yarn-install
- name: pnpm install
uses: ./.github/actions/pnpm-install

- name: Setup Expo
uses: expo/expo-github-action@v8
Expand Down Expand Up @@ -90,11 +90,28 @@ jobs:
git push origin --tags

deploy:
name: Deploy
name: Deploy to ${{ matrix.store }}
if: ${{ inputs.deploy }}
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
matrix:
include:
- platform: ios
store: TestFlight
- platform: android
store: Play Store
steps:
- name: Check if deployment should run for this platform
run: |
if [[ "${{ inputs.platform }}" == "all" || "${{ inputs.platform }}" == "${{ matrix.platform }}" ]]; then
echo "Proceeding with ${{ matrix.store }} deployment"
else
echo "Skipping ${{ matrix.store }} deployment as platform ${{ matrix.platform }} was not selected"
exit 0
fi

- name: Check for EXPO_TOKEN
run: |
if [ -z "${{ secrets.EXPO_TOKEN }}" ]; then
Expand All @@ -103,7 +120,7 @@ jobs:
fi

- name: Check for Apple Credentials
if: ${{ inputs.platform == 'ios' || inputs.platform == 'all' }}
if: matrix.platform == 'ios'
run: |
if [ -z "${{ secrets.EXPO_APPLE_APP_SPECIFIC_PASSWORD }}" ] || [ -z "${{ secrets.EXPO_APPLE_ID }}" ]; then
echo "You must provide an EXPO_APPLE_APP_SPECIFIC_PASSWORD and EXPO_APPLE_ID to deploy to testflight"
Expand All @@ -113,8 +130,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Yarn install
uses: ./.github/actions/yarn-install
- name: pnpm install
uses: ./.github/actions/pnpm-install

- name: Setup Expo
uses: expo/expo-github-action@v8
Expand All @@ -123,20 +140,18 @@ jobs:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}

- name: Submit to testflight
if: ${{ inputs.platform == 'ios' || inputs.platform == 'all' }}
run: |
EXPO_APPLE_APP_SPECIFIC_PASSWORD=${{ secrets.EXPO_APPLE_APP_SPECIFIC_PASSWORD }} \
EXPO_APPLE_ID=${{ secrets.EXPO_APPLE_ID }} \
eas submit \
--latest \
--non-interactive \
-p ios

- name: Submit to playstore
if: ${{ inputs.platform == 'android' || inputs.platform == 'all' }}
- name: Submit to ${{ matrix.store }}
run: |
eas submit \
--latest \
--non-interactive \
-p android
if [ "${{ matrix.platform }}" == "ios" ]; then
EXPO_APPLE_APP_SPECIFIC_PASSWORD=${{ secrets.EXPO_APPLE_APP_SPECIFIC_PASSWORD }} \
EXPO_APPLE_ID=${{ secrets.EXPO_APPLE_ID }} \
eas submit \
--latest \
--non-interactive \
-p ios
else
eas submit \
--latest \
--non-interactive \
-p android
fi
5 changes: 3 additions & 2 deletions .github/workflows/eas-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
- "**.lock"
- "!eas.json"
- "**.yml"
- "**.yaml"

jobs:
update:
Expand All @@ -29,8 +30,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Yarn install
uses: ./.github/actions/yarn-install
- name: pnpm install
uses: ./.github/actions/pnpm-install

- name: Setup EAS
uses: expo/expo-github-action@v8
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ on:
- "**.tsx"
- "**.js"
- "**.yml"
- "**.yaml"

jobs:
lint:
Expand All @@ -21,8 +22,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Yarn install
uses: ./.github/actions/yarn-install
- name: pnpm install
uses: ./.github/actions/pnpm-install

- name: Run Lint
run: yarn lint
run: pnpm lint
5 changes: 3 additions & 2 deletions .github/workflows/preview-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:
- "**.lock"
- "!eas.json"
- "**.yml"
- "**.yaml"

jobs:
preview:
Expand All @@ -30,8 +31,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Yarn install
uses: ./.github/actions/yarn-install
- name: pnpm install
uses: ./.github/actions/pnpm-install

- name: Setup EAS
uses: expo/expo-github-action@v8
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:
- "**.json"
- "**.lock"
- "**.yml"
- "**.yaml"
branches-ignore:
- production

Expand Down Expand Up @@ -47,8 +48,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Yarn install
uses: ./.github/actions/yarn-install
- name: pnpm install
uses: ./.github/actions/pnpm-install

- name: Setup EAS
uses: expo/expo-github-action@v8
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ web-build/
.env
/android
/ios
.github/skills

google-services.json
GoogleService-Info.plist
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node-linker=hoisted
4 changes: 4 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"trailingComma": "es5",
"endOfLine": "auto"
}
7 changes: 7 additions & 0 deletions .vscode/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"servers": {
"tanstack": {
"url": "https://tanstack.com/api/mcp"
}
}
}
14 changes: 13 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [unreleased]

### Changes

- Notification links now open in external browser

## [2.2.0] - 2025-07-18

### Fixed

- Bug fixes and stability improvements
- Android Gitlab OAuth

## [2.1.6] - 2025-01-09

### Fixed
Expand Down Expand Up @@ -127,7 +138,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

- First release on the stores

[unreleased]: https://github.com/zaniluca/ping-4-gitlab/compare/v2.1.6...HEAD
[unreleased]: https://github.com/zaniluca/ping-4-gitlab/compare/v2.2.0...HEAD
[1.0.1]: https://github.com/zaniluca/ping-4-gitlab/releases/tag/v1.0.1
[1.0.2]: https://github.com/zaniluca/ping-4-gitlab/releases/tag/v1.0.2
[1.1.0]: https://github.com/zaniluca/ping-4-gitlab/releases/tag/v1.1.0
Expand All @@ -142,3 +153,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
[2.1.4]: https://github.com/zaniluca/ping-4-gitlab/releases/tag/v2.1.4
[2.1.5]: https://github.com/zaniluca/ping-4-gitlab/releases/tag/v2.1.5
[2.1.6]: https://github.com/zaniluca/ping-4-gitlab/releases/tag/v2.1.6
[2.2.0]: https://github.com/zaniluca/ping-4-gitlab/releases/tag/v2.2.0
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ The app is build using Expo and React Native, the entire codebase is written in
git clone https://github.com/zaniluca/ping-4-gitlab.git
cd ping-4-gitlab
nvm use
yarn
yarn start
pnpm i
pnpm start
```

## What Now?
Expand Down
2 changes: 1 addition & 1 deletion app.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"scheme": "ping4gitlab",
"description": "Multiplatform react-native app that sends you instant notifications about gitlab activities",
"slug": "ping4gitlab",
"version": "2.2.0",
"version": "3.0.0",
"orientation": "portrait",
"userInterfaceStyle": "automatic",
"githubUrl": "https://github.com/zaniluca/ping-4-gitlab",
Expand Down
8 changes: 6 additions & 2 deletions eas.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"extends": "base",
"developmentClient": true,
"distribution": "internal",
"environment": "development",
"android": {
"gradleCommand": ":app:assembleDebug"
},
Expand All @@ -26,6 +27,7 @@
"channel": "master",
"distribution": "internal",
"extends": "base",
"environment": "preview",
"android": {
"gradleCommand": ":app:assembleRelease"
},
Expand All @@ -36,11 +38,13 @@
},
"staging": {
"channel": "master",
"extends": "base"
"extends": "base",
"environment": "preview"
},
"production": {
"channel": "production",
"extends": "base"
"extends": "base",
"environment": "production"
}
},
"submit": {
Expand Down
5 changes: 4 additions & 1 deletion metro.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
// https://github.com/expo/fyi/blob/main/sentry-expo-migration.md#update-your-metroconfigjs-to-include-the-sentry-transformer-plugin
const { getSentryExpoConfig } = require("@sentry/react-native/metro");
const { getDefaultConfig } = require("expo/metro-config");

// eslint-disable-next-line no-undef
const config = getSentryExpoConfig(__dirname);
const defaultConfig = getDefaultConfig(__dirname);
// eslint-disable-next-line no-undef
const config = getSentryExpoConfig(__dirname, defaultConfig);

module.exports = config;
Loading
Loading