Skip to content

Commit ad1642c

Browse files
committed
chore: app updates and security policy
1 parent 2c0951d commit ad1642c

File tree

15 files changed

+674
-7
lines changed

15 files changed

+674
-7
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Release Mobile
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
concurrency:
10+
group: release-mobile-${{ github.ref }}
11+
cancel-in-progress: false
12+
13+
jobs:
14+
android:
15+
name: Android Release
16+
runs-on: ubuntu-latest
17+
env:
18+
ANDROID_PACKAGE_NAME: com.cleanapp
19+
ANDROID_TRACK: production
20+
GOOGLE_PLAY_SERVICE_ACCOUNT_JSON: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
21+
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
22+
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
23+
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
24+
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v4
28+
29+
- name: Setup Node
30+
uses: actions/setup-node@v4
31+
with:
32+
node-version: 20
33+
cache: npm
34+
35+
- name: Setup Java
36+
uses: actions/setup-java@v4
37+
with:
38+
distribution: temurin
39+
java-version: 17
40+
41+
- name: Setup Ruby
42+
uses: ruby/setup-ruby@v1
43+
with:
44+
bundler-cache: true
45+
46+
- name: Install JS deps
47+
run: npm ci
48+
49+
- name: Fastlane Android Release
50+
run: bundle exec fastlane android release
51+
52+
ios:
53+
name: iOS Release
54+
runs-on: macos-latest
55+
env:
56+
IOS_BUNDLE_ID: io.cleanapp
57+
IOS_TEAM_ID: ${{ secrets.IOS_TEAM_ID }}
58+
APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
59+
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
60+
APP_STORE_CONNECT_KEY_BASE64: ${{ secrets.APP_STORE_CONNECT_KEY_BASE64 }}
61+
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
62+
MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }}
63+
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
64+
steps:
65+
- name: Checkout
66+
uses: actions/checkout@v4
67+
68+
- name: Setup Node
69+
uses: actions/setup-node@v4
70+
with:
71+
node-version: 20
72+
cache: npm
73+
74+
- name: Setup Ruby
75+
uses: ruby/setup-ruby@v1
76+
with:
77+
bundler-cache: true
78+
79+
- name: Install JS deps
80+
run: npm ci
81+
82+
- name: Install iOS Pods
83+
run: bundle exec pod install --project-directory=ios
84+
85+
- name: Fastlane iOS Release
86+
run: bundle exec fastlane ios release

.github/workflows/secret-scan.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Secret Scan
2+
3+
on:
4+
push:
5+
branches: ["**"]
6+
pull_request:
7+
8+
jobs:
9+
gitleaks:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0
16+
- name: Run gitleaks
17+
uses: gitleaks/gitleaks-action@v2
18+
env:
19+
GITLEAKS_LICENSE: ${{ secrets.GITLEAKS_LICENSE }}

.gitignore

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,27 @@ DerivedData
2222
*.xcuserstate
2323
**/.xcode.env.local
2424

25+
# Secrets
26+
*.p8
27+
*.p12
28+
*.pfx
29+
*.pem
30+
*.key
31+
*.der
32+
*.crt
33+
*.cer
34+
*.csr
35+
*.certSigningRequest
36+
*.p7b
37+
*.p7s
38+
*.mobileprovision
39+
*.jks
40+
*.keystore
41+
.env.*
42+
.secrets
43+
**/fastlane/*.log
44+
fastlane_release.log
45+
2546
# Android/IntelliJ
2647
#
2748
build/
@@ -31,7 +52,6 @@ local.properties
3152
*.iml
3253
*.hprof
3354
.cxx/
34-
*.keystore
3555
!debug.keystore
3656
.kotlin/
3757

@@ -55,6 +75,9 @@ yarn-error.log
5575

5676
# Bundle artifact
5777
*.jsbundle
78+
*.dSYM
79+
*.dSYM.zip
80+
*.xcarchive
5881

5982
# Ruby / CocoaPods
6083
**/Pods/
@@ -76,4 +99,4 @@ yarn-error.log
7699

77100
# Env
78101
.env
79-
.env.local
102+
.env.local

AGENTS.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Mandatory Agent Rules
2+
3+
These rules apply to **all automated agents** working in this repo:
4+
5+
## 1) No Secrets in Git
6+
Never commit or stage any secret material. Examples:
7+
- `.p12`, `.p8`, `.mobileprovision`, `.cer`, `.csr`, `.key`, `.pem`
8+
- `.env`, `.env.*` or any file containing tokens/keys
9+
- API tokens or service credentials in source or config
10+
11+
If you find secrets in the working tree, leave them untracked and notify the user.
12+
13+
## 2) Always Respect .gitignore
14+
Before staging changes, verify no secret files are included.
15+
16+
## 3) Use Secret Scanning
17+
If you touch release, build, or deployment code:
18+
- Run or ensure CI runs the gitleaks check.
19+
- Do not bypass failures.
20+
21+
## 4) If You Suspect a Leak
22+
Stop and notify the user immediately. Do not push or open PRs until resolved.

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
88
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
99
gem 'xcodeproj', '< 1.26.0'
1010
gem 'concurrent-ruby', '< 1.3.4'
11+
gem 'fastlane'

0 commit comments

Comments
 (0)