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

Release - 4.10.0 #550

Merged
merged 40 commits into from
Jan 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
32aa23b
[#528] No time-out keychain
blyscuit Oct 5, 2023
b581840
[#528] Make timeout 1.3 days
blyscuit Oct 5, 2023
d9d2f44
[#530] Add SwiftUI file organization wiki
blyscuit Oct 6, 2023
5304d62
[#530] Fix build Rx
blyscuit Oct 6, 2023
7962466
[#530] Fix build
blyscuit Oct 6, 2023
fa8b0d7
[#522] Use FIREBASE_SERVICE_ACCOUNT instead of FIREBASE_TOKEN
blyscuit Oct 9, 2023
ce963ca
[#522] Use FIREBASE_SERVICE_ACCOUNT instead of FIREBASE_TOKEN
blyscuit Oct 9, 2023
39e917c
[#482] Repace Podfile hard-code version with {TARGET_VERSION}
ducbm051291 Oct 27, 2023
57834b8
[#521] Update norio-nomura/action-swiftlint to latest version 3.2.1
ducbm051291 Oct 27, 2023
10c83d9
[#521] Update norio-nomura/action-swiftlint to master branch
ducbm051291 Oct 31, 2023
ffca168
Merge pull request #529 from nimblehq/chore/#528-keychain-no-timeout
blyscuit Oct 31, 2023
54c98ee
Merge pull request #532 from nimblehq/chore/#530-standard-file-organi…
blyscuit Oct 31, 2023
a18a2ea
Merge pull request #538 from nimblehq/feature/509-pod-file-version-ma…
blyscuit Nov 7, 2023
6809fca
Merge pull request #533 from nimblehq/feature/#522-google-service-acc…
blyscuit Nov 7, 2023
a571c23
[#521] Update Mark's approach
ducbm051291 Nov 15, 2023
e27fa3a
[#519] Updae configuration
Shayokh144 Nov 16, 2023
9bae9c0
Merge pull request #539 from nimblehq/chore/521-update-latest-swiftli…
blyscuit Nov 17, 2023
bf74dd1
[#454] Add apiKey
nkhanh44 Oct 29, 2023
181fbe3
[#454] Add variables to env
nkhanh44 Oct 29, 2023
0c5017b
[#454] Rename
nkhanh44 Nov 6, 2023
dd1965a
[#454] Update keys
nkhanh44 Nov 20, 2023
1b86e63
[#519] Remove product name from xcconfig
Shayokh144 Nov 22, 2023
8de90be
Fix lints
nkhanh44 Nov 29, 2023
a3d7e1f
[#454] Check isForce for apiKey in syncCodeSigning
nkhanh44 Nov 30, 2023
a268748
Merge pull request #544 from nimblehq/fix/519-update-display-name
blyscuit Dec 4, 2023
a9b5099
Merge pull request #540 from nimblehq/feature/454-use-appStore-Connec…
blyscuit Dec 4, 2023
7db4dcb
[#498] Update Script: SetUpCICDService to ask for runner type
ducbm051291 Nov 15, 2023
4ec71c2
[#498] Create Enum for gifhub runner type
ducbm051291 Dec 4, 2023
cae4b35
[#498] Remove project workflows and self hosted project workflows in …
ducbm051291 Dec 14, 2023
70932c0
[#498] Update case .none
ducbm051291 Dec 14, 2023
c3d8ddc
Merge pull request #549 from nimblehq/chore/548-fix-lints-after-gener…
blyscuit Dec 15, 2023
38fd30b
[#349] Create target
phongvhd93 Oct 18, 2023
547acd5
[#349] Create modules for Domain and Data layer
phongvhd93 Oct 23, 2023
517900e
[#349] remove unncessary constant
phongvhd93 Nov 6, 2023
4fccd41
[#349] Rename makeFramework to frameworkTargets
phongvhd93 Nov 22, 2023
c86637e
[#349] Improve the duplicated codes
phongvhd93 Dec 4, 2023
1897bcc
Merge pull request #536 from nimblehq/feature/#349-modular-data-and-d…
blyscuit Dec 21, 2023
c9675af
[#541] Update Standard File Organization
phongvhd93 Nov 17, 2023
505ca73
Merge pull request #545 from nimblehq/feature/#541-update-doc-for-new…
blyscuit Dec 21, 2023
11790f1
Merge pull request #543 from nimblehq/feature/498-add-option-github-s…
blyscuit Dec 21, 2023
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
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
API_KEY_ID=""
ISSUER_ID=""
APPSTORE_CONNECT_API_KEY=""
4 changes: 2 additions & 2 deletions .github/project_workflows/deploy_app_store.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ jobs:
fetch-depth: 0

- name: Run SwiftLint
uses: norio-nomura/action-swiftlint@3.1.0
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
with:
args: --strict
args: swiftlint --strict

build:
name: Build
Expand Down
15 changes: 11 additions & 4 deletions .github/project_workflows/deploy_production_firebase.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Deploy Production Build To Firebase
# SECRETS needed:
### SSH_PRIVATE_KEY for Match Repo
### MATCH_PASS
### FIREBASE_TOKEN
### FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64

on:
push:
Expand All @@ -25,9 +25,9 @@ jobs:
fetch-depth: 0

- name: Run SwiftLint
uses: norio-nomura/action-swiftlint@3.1.0
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
with:
args: --strict
args: swiftlint --strict

build:
name: Build
Expand All @@ -50,6 +50,13 @@ jobs:
touch .env
echo $ENV | base64 --decode > .env

- name: Read Google Service Account
id: firebase_service_account
uses: timheuer/[email protected]
with:
fileName: 'firebase_service_account.json'
encodedString: ${{ secrets.FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64 }}

- name: Bundle install
run: bundle install

Expand Down Expand Up @@ -80,7 +87,7 @@ jobs:
- name: Build Production App and Distribute to Firebase
run: bundle exec fastlane buildProductionAndUploadToFirebase
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.firebase_service_account.outputs.filePath }}

- name: Upload Artifacts
uses: actions/upload-artifact@v3
Expand Down
15 changes: 11 additions & 4 deletions .github/project_workflows/deploy_staging_firebase.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Deploy Staging Build To Firebase
# SECRETS needed:
### SSH_PRIVATE_KEY for Match Repo
### MATCH_PASS
### FIREBASE_TOKEN
### FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64

on:
push:
Expand All @@ -25,9 +25,9 @@ jobs:
fetch-depth: 0

- name: Run SwiftLint
uses: norio-nomura/action-swiftlint@3.1.0
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
with:
args: --strict
args: swiftlint --strict

build:
name: Build
Expand Down Expand Up @@ -55,6 +55,13 @@ jobs:
touch .env
echo $ENV | base64 --decode > .env

- name: Read Google Service Account
id: firebase_service_account
uses: timheuer/[email protected]
with:
fileName: 'firebase_service_account.json'
encodedString: ${{ secrets.FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64 }}

- name: Bundle install
# if: steps.bundleCache.outputs.cache-hit != 'true'
run: bundle install
Expand Down Expand Up @@ -86,7 +93,7 @@ jobs:
- name: Build App and Distribute to Firebase
run: bundle exec fastlane buildStagingAndUploadToFirebase
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.firebase_service_account.outputs.filePath }}

- name: Upload Artifacts
uses: actions/upload-artifact@v3
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Automatic pull request review

on:
pull_request:
types: [opened, reopened, edited, synchronize]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
review_pull_request:
name: Pull request review by Danger
runs-on: [self-hosted, macOS]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- uses: actions/cache@v3
id: bunlderCache
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-

- name: Setup ENV file
env:
ENV: ${{ secrets.ENV }}
run: |
touch .env
echo $ENV | base64 --decode > .env

- name: Bundle install
run: bundle install --path vendor/bundle

- name: Run Arkana
run: bundle exec arkana

- name: Cache Pods
uses: actions/cache@v3
id: cocoapodCache
with:
path: Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-

- name: Install Pods Dependencies
run: bundle exec pod install

- name: Build and Test
run: bundle exec fastlane buildAndTest
env:
CI: true

- name: Clean up previous code coverage report
run: bundle exec fastlane cleanUpOutput

- name: Review pull request by Danger
env:
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: bundle exec danger
104 changes: 104 additions & 0 deletions .github/self_hosted_project_workflows/deploy_app_store.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
name: Deploy Build To App Store

# SECRETS needed:
### SSH_PRIVATE_KEY for Match Repo
### MATCH_PASS
### APPSTORE_CONNECT_API_KEY
### API_KEY_ID
### ISSUER_ID

on:
push:
branches: [ master, main ]
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Run SwiftLint
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
with:
args: swiftlint --strict

build:
name: Build
runs-on: [self-hosted, macOS]
steps:
- name: Checkout Repo
uses: actions/checkout@v3
# Set fetch-depth (default: 1) to get whole tree
with:
fetch-depth: 0

- name: Install SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

- name: Setup ENV file
env:
ENV: ${{ secrets.ENV }}
run: |
touch .env
echo $ENV | base64 --decode > .env

- name: Bundle install
run: bundle install

- name: Run Arkana
run: bundle exec arkana

- name: Cache Pods
uses: actions/cache@v3
id: cocoapodCache
with:
path: Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-

- name: Install Pods Dependencies
run: bundle exec pod install
shell: bash

- name: Build and Test
run: bundle exec fastlane buildAndTest

- name: Match AppStore
run: bundle exec fastlane syncAppStoreCodeSigning
env:
MATCH_PASSWORD: ${{ secrets.MATCH_PASS }}

- name: Build App and Distribute to AppStore
run: bundle exec fastlane buildAndUploadToAppStore
env:
APPSTORE_CONNECT_API_KEY: ${{ secrets.APPSTORE_CONNECT_API_KEY }}
API_KEY_ID: ${{ secrets.API_KEY_ID }}
ISSUER_ID: ${{ secrets.ISSUER_ID }}
BUMP_APP_STORE_BUILD_NUMBER: "true"

- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ format('v{0}({1})-{2}', env.VERSION_NUMBER, env.BUILD_NUMBER, env.TAG_TYPE) }}
path: |
${{ env.IPA_OUTPUT_PATH }}
${{ env.DSYM_OUTPUT_PATH }}
env:
TAG_TYPE: App_Store

- name: Remove keychain
if: ${{ always() }}
run: bundle exec fastlane removeKeychain
continue-on-error: true
105 changes: 105 additions & 0 deletions .github/self_hosted_project_workflows/deploy_production_firebase.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Deploy Production Build To Firebase

# SECRETS needed:
### SSH_PRIVATE_KEY for Match Repo
### MATCH_PASS
### FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64

on:
push:
branches: [ release/** ]
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
Lint:
name: lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Run SwiftLint
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
with:
args: swiftlint --strict

build:
name: Build
runs-on: [self-hosted, macOS]
steps:
- uses: actions/checkout@v3
# Set fetch-depth (default: 1) to get whole tree
with:
fetch-depth: 0

- name: Install SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

- name: Setup ENV file
env:
ENV: ${{ secrets.ENV }}
run: |
touch .env
echo $ENV | base64 --decode > .env

- name: Read Google Service Account
id: firebase_service_account
uses: timheuer/[email protected]
with:
fileName: 'firebase_service_account.json'
encodedString: ${{ secrets.FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64 }}

- name: Bundle install
run: bundle install

- name: Run Arkana
run: bundle exec arkana

- name: Cache Pods
uses: actions/cache@v3
id: cocoapodCache
with:
path: Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-

- name: Install Pods Dependencies
run: bundle exec pod install
shell: bash

- name: Build and Test
run: bundle exec fastlane buildAndTest

- name: Match Ad-hoc
run: bundle exec fastlane syncAdHocProductionCodeSigning
env:
MATCH_PASSWORD: ${{ secrets.MATCH_PASS }}

- name: Build Production App and Distribute to Firebase
run: bundle exec fastlane buildProductionAndUploadToFirebase
env:
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.firebase_service_account.outputs.filePath }}

- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ format('v{0}({1})-{2}', env.VERSION_NUMBER, env.BUILD_NUMBER, env.TAG_TYPE) }}
path: |
${{ env.IPA_OUTPUT_PATH }}
${{ env.DSYM_OUTPUT_PATH }}
env:
TAG_TYPE: Production_Firebase

- name: Remove keychain
if: ${{ always() }}
run: bundle exec fastlane removeKeychain
continue-on-error: true
Loading