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

Further DRY with xcodegen #4

Merged
merged 55 commits into from
Sep 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
af6f63e
DRY `Makefile`
mokagio Sep 20, 2024
7521e27
Add GitHub Action setup
mokagio Sep 20, 2024
d7e0585
Set Xcode 16 and iOS 18 as the desired toolchain
mokagio Sep 20, 2024
f780e7c
Do not need to install `xcbeautify` in GitHub Actions
mokagio Sep 20, 2024
2c3b92d
Use matrix to run tests on all folders
mokagio Sep 20, 2024
30055c2
Use iPhone 15 Pro Simulator
mokagio Sep 20, 2024
cf67df2
Fix missing Quick in examples 18
mokagio Sep 20, 2024
b37dc43
DRY Quick and Nimble setup
mokagio Sep 21, 2024
359c359
Remove leftover `xcodeproj` folders
mokagio Sep 21, 2024
97ebecc
Move `Collection+Safe` to shared location (example 4 only)
mokagio Sep 21, 2024
796073a
Extract fake `Menu` to reuse in other projects
mokagio Sep 21, 2024
dc01459
Further DRY by generating example 5 start from 4 end
mokagio Sep 21, 2024
009c5cd
Disable CI since it does not work
mokagio Sep 21, 2024
352c5f8
Further DRY by removing `Info.plist` from example 5 end
mokagio Sep 21, 2024
d69aff2
Restructure some of 06-start to reuse sources from earlier projects
mokagio Sep 23, 2024
030cfa4
Remove all `Info.plist` in favor of code generating them, too
mokagio Sep 24, 2024
b16627f
Remove leftover `pbxproj` from example 7
mokagio Sep 24, 2024
adaeac6
Add root `Makefile` to run all tests
mokagio Sep 24, 2024
38b05a4
DRY 05 end by reusing sources from 04 end
mokagio Sep 24, 2024
d02050c
DRY 06 start
mokagio Sep 24, 2024
eff6a19
DRY 06 end
mokagio Sep 24, 2024
b3438c4
DRY 07 start — It's the same as 06 end
mokagio Sep 24, 2024
7368fdc
Delete all unused `Assets.xcassets`
mokagio Sep 25, 2024
262810d
Delete all unused `Preview Content` folders`
mokagio Sep 25, 2024
20b895a
fixup! DRY 07 start — It's the same as 06 end
mokagio Sep 25, 2024
8490065
DRY 07 end
mokagio Sep 25, 2024
a0d0644
DRY 08 start — Same as 07 end
mokagio Sep 25, 2024
71d4d1c
DRY 08 end
mokagio Sep 25, 2024
e58cc6d
Tidy: Move collection safe import before AlbertosTests
mokagio Sep 25, 2024
7d33d80
DRY 09 start — Same as 08 end
mokagio Sep 25, 2024
1055d68
DRY 09 end
mokagio Sep 26, 2024
5b48855
DRY 10 start — Same as 09 end
mokagio Sep 26, 2024
a461055
DRY 10 end
mokagio Sep 26, 2024
b86b542
DRY 11 start
mokagio Sep 26, 2024
0b36c91
DRY 11 end
mokagio Sep 26, 2024
84ef831
DRY 12 start
mokagio Sep 26, 2024
94551ff
DRY 12 end
mokagio Sep 26, 2024
8dcc2cb
DRY 13 start — Same as 12 end
mokagio Sep 26, 2024
930ed36
DRY 13 end
mokagio Sep 26, 2024
e1f683b
DRY 14 start — Same as 13 end
mokagio Sep 26, 2024
34c3d07
DRY 14 end
mokagio Sep 26, 2024
a77bd16
DRY 15 start — Same as 14 end
mokagio Sep 26, 2024
6c37557
DRY 15 end sources
mokagio Sep 26, 2024
9e3c216
DRY 15 end tests
mokagio Sep 26, 2024
10472a7
Remove duplicated sources from various `project.yml`
mokagio Sep 26, 2024
e49c24c
DRY 17 sources
mokagio Sep 26, 2024
7cfbf3f
DRY 17 end tests
mokagio Sep 27, 2024
b7fe540
DRY 18 tests
mokagio Sep 27, 2024
e28186c
Further DRY 18 tests
mokagio Sep 27, 2024
8001288
DRY 19 tests
mokagio Sep 27, 2024
84b37f0
DRY 19 sources
mokagio Sep 27, 2024
82c3cad
Fix apps showing cropped for 3.5" display via `Info.plist` codegen
mokagio Sep 27, 2024
e164a15
Re-enable CI
mokagio Sep 27, 2024
f7b3bf4
DRY .gitignore setup — Push to root
mokagio Sep 27, 2024
1977622
Remove (final?) leftover xcodeproj
mokagio Sep 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
39 changes: 39 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Run tests on all examples

on:
push

jobs:
build_and_test:
strategy:
matrix:
folder:
- 04-tdd-in-the-real-world
- 05-fixtures
- 06-testing-static-swiftui-views
- 07-testing-dynamic-swiftui-views
- 08-stub
- 09-json-decoding
- 10-networking
- 11-dependency-injection-with-environment-object
- 12-spy
- 13-testing-view-presentation
- 14-fixing-bugs-and-changing-code
- 15-fake-and-dummy
- 17-appendix-b-nimble-only
- 18-appendix-b-quick-and-nimble
- 19-appendix-c-uikit
runs-on: macos-14
steps:
- name: Check Xcode version
run: /usr/bin/xcodebuild -version

- name: Checkout repository
uses: actions/checkout@v3

- name: Test examples ${{ matrix.folder }}
run: |
brew install xcodegen
cd ./${{ matrix.folder }}
echo "Currently in $(pwd)"
make
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.DS_Store
# If Xcode is setup to use a local derived data folder (recommended), ignore it
DerivedData

# Ignore xcodeproj because we codegenerate them
*.xcodeproj
# Ignore Info.plist because we codegen that, too
Info.plist

# SwiftPM
.build
1 change: 1 addition & 0 deletions .xcode-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
16.0
32 changes: 0 additions & 32 deletions 04-tdd-in-the-real-world/0-start/.gitignore

This file was deleted.

Loading
Loading