Skip to content

Commit ce8d634

Browse files
Merge pull request #1 from strvcom/experimental/codex-5.3-high-vanilla-setup
Codex - 5.3 [high] - vanilla setup
2 parents 8a6391f + faeaf76 commit ce8d634

997 files changed

Lines changed: 12427 additions & 16154 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 0 additions & 12 deletions
This file was deleted.

.github/actions/cache-dependencies/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ runs:
88
id: dependencies_cache
99
with:
1010
path: |
11-
vendor
12-
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
11+
iOS/vendor
12+
key: ${{ runner.os }}-gems-${{ hashFiles('iOS/Gemfile.lock') }}
1313
restore-keys: |
1414
${{ runner.os }}-gems-
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
child_config: ../../.swiftlint.yml
1+
child_config: ../../iOS/.swiftlint.yml
22

33
disabled_rules:
44
# E.g:
55
# - todo
66

77
excluded:
8-
# In case you want to exclude folders for the swiftlint running in the CI
8+
# In case you want to exclude folders for the swiftlint running in the CI

.github/labeler.yml

Lines changed: 0 additions & 8 deletions
This file was deleted.

.github/pull_request_template.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

ios/.github/sample-workflows/enterprise-deployment.yml renamed to .github/sample-workflows/enterprise-deployment.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,25 +45,27 @@ jobs:
4545
- name: Install Dependencies
4646
run: |
4747
./setup.swift install
48+
working-directory: iOS
4849

4950
# uncomment Run tests step to test before deployment
5051
# - name: Run tests
5152
# run: bundle exec fastlane tests
5253
# env:
53-
# WORKSPACE: STRVTemplate.xcworkspace
54-
# TEST_SCHEME: STRVTemplate - Development
54+
# WORKSPACE: ChemexTimer.xcworkspace
55+
# TEST_SCHEME: ChemexTimer - Development
5556
# DEVICES: "iPhone 13 Pro"
5657

5758
# run enterprise_deployment lane, use branch name to select env file
5859
- name: Enterprise deployment
5960
run: bundle exec fastlane enterprise_deployment
61+
working-directory: iOS
6062
env:
61-
WORKSPACE: STRVTemplate.xcworkspace
62-
SCHEME: STRVTemplate
63-
BUNDLE_ID: enterprise.com.strv.STRVTemplate
63+
WORKSPACE: ChemexTimer.xcworkspace
64+
SCHEME: ChemexTimer
65+
BUNDLE_ID: enterprise.com.strv.ChemexTimer
6466
# Uncomment if you need to sign multiple bundle IDs (app extensions etc.)
6567
# Note: Include the main Bundle ID in the list below and keep the BUNDLE_ID parameter above
66-
# MATCH_BUNDLE_IDS: enterprise.com.strv.STRVTemplate, enterprise.com.strv.STRVTemplate.Extension, enterprise.com.strv.STRVTemplate.Extension2
68+
# MATCH_BUNDLE_IDS: enterprise.com.strv.ChemexTimer, enterprise.com.strv.ChemexTimer.Extension, enterprise.com.strv.ChemexTimer.Extension2
6769
MATCH_PASSWORD: ${{ secrets.IOS_DEPARTMENT_ENTERPRISE_MATCH_PASSWORD }}
6870
AWS_S3_ACCESS_KEY_ID: ${{ secrets.IOS_DEPARTMENT_AWS_S3_ACCESS_KEY_ID }}
6971
AWS_S3_ACCESS_KEY_SECRET: ${{ secrets.IOS_DEPARTMENT_AWS_S3_ACCESS_KEY_SECRET }}

ios/.github/sample-workflows/testflight-deployment.yml renamed to .github/sample-workflows/testflight-deployment.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ jobs:
5050
- name: Install Dependencies
5151
run: |
5252
./setup.swift install
53+
working-directory: iOS
5354

5455
# uncomment Dependencies cache step when running on macos-latest
5556
# - name: Dependencies cache
@@ -66,21 +67,22 @@ jobs:
6667
# - name: Run tests
6768
# run: bundle exec fastlane tests
6869
# env:
69-
# WORKSPACE: STRVTemplate.xcworkspace
70-
# TEST_SCHEME: STRVTemplate-Development
70+
# WORKSPACE: ChemexTimer.xcworkspace
71+
# TEST_SCHEME: ChemexTimer-Development
7172
# DEVICES: "iPhone 13 Pro"
7273

7374
# run testflight_deployment lane
7475
- name: Testflight deployment
7576
run: bundle exec fastlane testflight_deployment
77+
working-directory: iOS
7678
env:
77-
WORKSPACE: STRVTemplate.xcworkspace
78-
TARGET: STRVTemplate
79-
SCHEME: STRVTemplate
80-
BUNDLE_ID: com.strv.STRVTemplate
79+
WORKSPACE: ChemexTimer.xcworkspace
80+
TARGET: ChemexTimer
81+
SCHEME: ChemexTimer
82+
BUNDLE_ID: com.strv.ChemexTimer
8183
# Uncomment if you need to sign multiple bundle IDs (app extensions etc.)
8284
# Note: Include the main Bundle ID in the list below and keep the BUNDLE_ID parameter above
83-
# MATCH_BUNDLE_IDS: com.strv.STRVTemplate, com.strv.STRVTemplate.Extension, com.strv.STRVTemplate.Extension2
85+
# MATCH_BUNDLE_IDS: com.strv.ChemexTimer, com.strv.ChemexTimer.Extension, com.strv.ChemexTimer.Extension2
8486
TEAM_NAME: STRV Inc
8587
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
8688
APP_STORE_CONNECT_KEY_CONTENT: ${{ secrets.APP_STORE_CONNECT_KEY_CONTENT }}

ios/.github/workflows/post-merge-integrations.yml renamed to .github/workflows/post-merge-integrations.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ jobs:
5151
- name: Install Dependencies
5252
run: |
5353
./setup.swift install
54+
working-directory: iOS
5455

5556
# uncomment if you are using SwiftLint via SPM plugin
5657
# Set SwiftLint version for Danger
@@ -61,14 +62,16 @@ jobs:
6162
- name: Run Danger
6263
run: |
6364
bundle exec danger --fail-on-errors=true
65+
working-directory: iOS
6466
env:
6567
GITHUB_TOKEN: ${{ github.token }}
6668

6769
# run tests (SnapshotTestPlan + UITestPlan after merge)
6870
- name: Run tests
6971
run: bundle exec fastlane tests without_dependencies:true
72+
working-directory: iOS
7073
env:
71-
WORKSPACE: STRVTemplate.xcworkspace
74+
WORKSPACE: ChemexTimer.xcworkspace
7275
TEST_PLAN: UITestPlan
73-
TEST_SCHEME: STRVTemplate
76+
TEST_SCHEME: ChemexTimer
7477
DEVICES: "iPhone 13 Pro"

.github/workflows/pr-format-check.yml

Lines changed: 0 additions & 38 deletions
This file was deleted.

.github/workflows/pr-integrations.yml

Lines changed: 106 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,42 @@
22
#
33
# This workflow runs on pull requests and performs:
44
# - Danger checks
5-
# - PR title and body checks
5+
# - Unit Tests
6+
# - Snapshot Tests
7+
#
8+
# Authentication:
9+
# - `github.token` is automatically provided by GitHub.
10+
#
11+
# Notes:
12+
# - To enable Fastlane tests, ensure `CommonFastfile` is imported in your Fastfile
13+
# from the shared ios-fastlane repository.
14+
# - By default, this workflow runs on every PR change. Be mindful of costs when
15+
# using macos-latest. It can also be triggered manually in GitHub.
16+
# - See more trigger options: https://help.github.com/en/actions/reference/events-that-trigger-workflows
17+
#
18+
# File: .github/workflows/pr-integrations.yml
619

720
name: Integrations (PR)
821

922
on:
23+
workflow_dispatch:
1024
pull_request:
11-
types: [opened, edited, synchronize, reopened]
25+
types: [opened, edited, reopened, synchronize, ready_for_review]
26+
27+
concurrency:
28+
group: ${{ github.workflow }}-${{ github.ref }}
29+
cancel-in-progress: true
30+
31+
# Common environment variables available to all jobs
32+
env:
33+
WORKSPACE: ChemexTimer.xcworkspace
34+
TEST_SCHEME: ChemexTimer
35+
DEVICES: "iPhone 13 Pro"
1236

1337
jobs:
14-
validate:
15-
name: 'Title and description validation'
16-
runs-on: ubuntu-latest
17-
steps:
18-
- name: Check PR title and body
19-
uses: actions/github-script@v6
20-
with:
21-
script: |
22-
const pr = context.payload.pull_request;
23-
if (!pr) {
24-
core.setFailed("No pull_request payload found (this action must run on pull_request).");
25-
return;
26-
}
27-
28-
const title = (pr.title || "").trim();
29-
const body = (pr.body || "").trim();
30-
31-
const allowed = ["feat","fix","chore","docs","refactor","test","perf","style","ci"];
32-
const re = new RegExp(`^(${allowed.join("|")}):\\s+.+`);
33-
34-
if (!re.test(title)) {
35-
throw new Error(
36-
`PR title must start with one of: ${allowed.join(", ")} followed by ': '.\n` +
37-
`Current title: "${title}"`
38-
);
39-
}
40-
41-
if (body.length === 0) {
42-
throw new Error("PR description must not be empty. Please add a meaningful description.");
43-
}
44-
45-
core.info("PR title and description look good 🎉");
38+
# Quality Checks (Danger) Job
4639
quality-checks:
47-
name: '[iOS] Danger'
40+
name: Quality Checks
4841
runs-on: [self-hosted, macOS, mobile-ci]
4942
if: github.event.pull_request.draft == false
5043
timeout-minutes: 20
@@ -67,12 +60,88 @@ jobs:
6760

6861
# Install dependencies (run install script)
6962
- name: Install Dependencies
70-
working-directory: ios
7163
run: ./setup.swift install
64+
working-directory: iOS
65+
66+
# uncomment if you are using SwiftLint via SPM plugin
67+
# Set SwiftLint version for Danger
68+
# - name: Set SwiftLint version
69+
# run: echo "SWIFTLINT_VERSION=$(cat ./.swiftlint-version)" >> $GITHUB_ENV
7270

7371
# Run Danger
7472
- name: Run Danger
75-
working-directory: ios
7673
run: bundle exec danger --fail-on-errors=true
74+
working-directory: iOS
7775
env:
7876
GITHUB_TOKEN: ${{ github.token }}
77+
78+
# Unit Tests Job
79+
unit-tests:
80+
name: Unit Tests
81+
runs-on: [self-hosted, macOS, mobile-ci]
82+
if: github.event.pull_request.draft == false
83+
timeout-minutes: 20
84+
steps:
85+
# Checkout the Project Repository
86+
- name: Checkout
87+
uses: actions/checkout@v4
88+
89+
# Istall Mise (Dev env setup tool)
90+
- name: Install Mise
91+
uses: jdx/mise-action@v2
92+
with:
93+
install: true
94+
cache: false # change to true when running on macos-latest instead of self-hosted
95+
experimental: true
96+
97+
# Cache dependencies
98+
- name: Cache Dependencies
99+
uses: ./.github/actions/cache-dependencies
100+
101+
# Install dependencies (run install script)
102+
- name: Install Dependencies
103+
run: ./setup.swift install
104+
working-directory: iOS
105+
106+
# Run Unit Tests
107+
- name: Run Unit Tests
108+
run: bundle exec fastlane tests without_dependencies:true
109+
working-directory: iOS
110+
env:
111+
TEST_PLAN: UnitTestPlan
112+
113+
# Snapshot Tests Job
114+
snapshot-tests:
115+
name: Snapshot Tests
116+
runs-on: [self-hosted, macOS, mobile-ci]
117+
if: github.event.pull_request.draft == false
118+
timeout-minutes: 20
119+
continue-on-error: false # <-- red ❌ on failure (still non-blocking)
120+
steps:
121+
# Checkout the Project Repository
122+
- name: Checkout
123+
uses: actions/checkout@v4
124+
125+
# Istall Mise (Dev env setup tool)
126+
- name: Install Mise
127+
uses: jdx/mise-action@v2
128+
with:
129+
install: true
130+
cache: false # change to true when running on macos-latest instead of self-hosted
131+
experimental: true
132+
133+
# Cache dependencies
134+
- name: Cache Dependencies
135+
uses: ./.github/actions/cache-dependencies
136+
137+
# Install dependencies (run install script)
138+
- name: Install Dependencies
139+
run: ./setup.swift install
140+
working-directory: iOS
141+
142+
# Run Snapshots Tests
143+
- name: Run Snapshot tests
144+
run: bundle exec fastlane tests without_dependencies:true
145+
working-directory: iOS
146+
env:
147+
TEST_PLAN: SnapshotTestPlan

0 commit comments

Comments
 (0)