Skip to content

Commit fb802ba

Browse files
committed
Merge branch 'develop'
2 parents 2010662 + b366378 commit fb802ba

195 files changed

Lines changed: 4051 additions & 28812 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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @stephanecopin @metatheoretic @heymansmile @notbenoit
1+
* @hadiidbouk @Sissing @samuelskelton @harishsaini @ahujamanish @Coleton-Fueled

.github/workflows/docs.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths: ['Sources/**', 'Package.swift', 'scripts/**']
7+
tags: ['*']
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: write
12+
pages: write
13+
id-token: write
14+
15+
concurrency:
16+
group: pages
17+
cancel-in-progress: false
18+
19+
jobs:
20+
deploy:
21+
name: Build & Deploy
22+
runs-on: macos-15
23+
steps:
24+
- uses: actions/checkout@v4
25+
with:
26+
fetch-depth: 0
27+
28+
- name: Determine version
29+
id: version
30+
run: |
31+
if [[ "${{ github.ref_type }}" == "tag" ]]; then
32+
echo "version=${{ github.ref_name }}" >> $GITHUB_OUTPUT
33+
echo "version_path=v${{ github.ref_name }}" >> $GITHUB_OUTPUT
34+
echo "is_release=true" >> $GITHUB_OUTPUT
35+
else
36+
echo "version=latest" >> $GITHUB_OUTPUT
37+
echo "version_path=" >> $GITHUB_OUTPUT
38+
echo "is_release=false" >> $GITHUB_OUTPUT
39+
fi
40+
41+
- uses: swift-actions/setup-swift@v2
42+
with:
43+
swift-version: "6.0"
44+
45+
- name: Install dependencies
46+
run: brew install jq
47+
48+
- name: Generate documentation
49+
run: ./scripts/docs-script.sh
50+
51+
- uses: actions/checkout@v4
52+
with:
53+
ref: gh-pages
54+
path: gh-pages-work
55+
fetch-depth: 0
56+
continue-on-error: true
57+
58+
- name: Initialize gh-pages
59+
run: |
60+
if [ ! -d "gh-pages-work/.git" ]; then
61+
mkdir -p gh-pages-work && cd gh-pages-work
62+
git init && git checkout -b gh-pages
63+
git remote add origin https://github.com/${{ github.repository }}.git || true
64+
fi
65+
66+
- name: Deploy
67+
env:
68+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
69+
GITHUB_REPOSITORY: ${{ github.repository }}
70+
run: ./scripts/deploy-docs.sh "${{ steps.version.outputs.version_path }}" "${{ steps.version.outputs.is_release }}"
71+
72+
- uses: actions/configure-pages@v5
73+
74+
- uses: actions/upload-pages-artifact@v3
75+
with:
76+
path: gh-pages-work
77+
78+
- uses: actions/deploy-pages@v4

.github/workflows/pr_check.yml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,29 @@
11
name: PR Check
2-
on: [pull_request]
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
37
concurrency:
48
group: ${{ github.head_ref }}
59
cancel-in-progress: true
10+
611
jobs:
712
pr_check:
8-
runs-on: macOS-11
13+
name: PR Checks
14+
runs-on: macos-26
915
if: github.event.pull_request.draft == false
16+
1017
steps:
1118
- name: Checkout Project
12-
uses: actions/checkout@v2
13-
- uses: ruby/setup-ruby@v1
14-
with:
15-
bundler-cache: true
16-
- name: Danger
17-
env:
18-
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19-
run: bundle exec danger
19+
uses: actions/checkout@v4
20+
21+
- name: Install SwiftLint
22+
run: brew install swiftlint
23+
24+
- name: SwiftLint
25+
run: swiftlint lint --strict
26+
2027
- name: Test
2128
run: swift test
2229

.gitignore

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Xcode
22
#
3-
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4-
53
## Build generated
64
build/
75
DerivedData/
@@ -23,53 +21,31 @@ xcuserdata/
2321
*.xcscmblueprint
2422
.DS_Store
2523

26-
## Obj-C/Swift specific
24+
# Obj-C/Swift
2725
*.hmap
2826
*.ipa
2927
*.dSYM.zip
3028
*.dSYM
3129

32-
## Playgrounds
30+
# Playgrounds
3331
timeline.xctimeline
3432
playground.xcworkspace
3533

3634
# Swift Package Manager
37-
#
38-
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
39-
# Packages/
4035
.build/
36+
.swiftpm/
4137

4238
# CocoaPods
43-
#
44-
# We recommend against adding the Pods directory to your .gitignore. However
45-
# you should judge for yourself, the pros and cons are mentioned at:
46-
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
47-
#
4839
Pods/
4940

5041
# Carthage
51-
#
52-
# Add this line if you want to avoid checking in source code from Carthage dependencies.
53-
# Carthage/Checkouts
54-
5542
Carthage/Build
5643

57-
# SwiftPM
58-
.swiftpm/
59-
6044
# fastlane
61-
#
62-
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
63-
# screenshots whenever they are needed.
64-
# For more information about the recommended setup visit:
65-
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
66-
6745
fastlane/report.xml
6846
fastlane/Preview.html
6947
fastlane/screenshots
7048
fastlane/test_output
7149

72-
# jazzy
73-
docs/docsets
74-
docs/undocumented.json
75-
50+
# Generated documentation
51+
docs/

.gitmodules

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

.jazzy.yaml

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

.ruby-version

Lines changed: 0 additions & 1 deletion
This file was deleted.

.swiftlint.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
whitelist_rules:
1+
only_rules:
22
- block_based_kvo
33
- class_delegate_protocol
44
- closing_brace
@@ -39,7 +39,7 @@ whitelist_rules:
3939
- prohibited_super_call
4040
- protocol_property_accessors_order
4141
- redundant_discardable_let
42-
- redundant_optional_initialization
42+
- implicit_optional_initialization
4343
- redundant_string_enum_value
4444
- redundant_void_return
4545
- return_arrow_whitespace
@@ -66,8 +66,8 @@ whitelist_rules:
6666
- xctfail_message
6767
- trailing_comma
6868
included: # paths to include during linting. `--path` is ignored if present.
69-
- FueledUtils
70-
- FueledUtilsTests
69+
- Sources
70+
- Tests
7171
excluded: # paths to ignore during linting. Takes precedence over `included`.
7272
- Carthage
7373
- Pods
@@ -101,7 +101,6 @@ identifier_name:
101101
max_length:
102102
warning: 70
103103
error: 100
104-
severity: error
105104
excluded:
106105
- x
107106
- y
@@ -123,6 +122,7 @@ identifier_name:
123122
- on
124123
- no
125124
- qa
125+
- CombineLatestMany
126126
return_arrow_whitespace: error
127127
legacy_constructor: error
128128
legacy_constant: error

CHANGELOG.md

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

CONTRIBUTING.md

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,29 @@
55

66
In order to properly clone the project and be ready to submit bug fixes/new features, please follow these steps:
77

8-
1. Clone the project using
8+
1. Clone the project:
99
```shell
10-
git clone --recurse-submodules https://github.com/Fueled/ios-utilities.git
10+
git clone https://github.com/Fueled/ios-utilities.git
11+
cd ios-utilities
1112
```
12-
This will initialize all dependencies.
1313

14-
If you've already cloned the project without initializing submodules, please run submodules update from the project directory:
14+
2. Open the project in Xcode:
15+
```shell
16+
open Package.swift
17+
```
18+
Or open it directly in Xcode by double-clicking `Package.swift`.
19+
20+
3. Build the project to ensure everything is set up correctly:
21+
```shell
22+
swift build
23+
```
1524

25+
4. Run tests:
1626
```shell
17-
git submodule update --init --recursive
27+
swift test
1828
```
19-
2. Open `Test/FueledUtils.xcworkspace` and update the *FueledUtils* Pod in `Development Pods`
20-
3. You're ready to go!
29+
30+
5. You're ready to go!
2131
2232
## How to contribute
2333
@@ -61,15 +71,15 @@ The type may be one of:
6171
- `style`: style change (update indentation, change spaces to tabs, …)
6272
- `chore`: configuration update, code signing change, …
6373
64-
The scope must reference what part of the library was changed, and can be made specific using slashes, for example `reactive/swift-extensions`. The scope can also reference one or multiple GitHub issues.
74+
The scope must reference what part of the library was changed, and can be made specific using slashes, for example `combine/publisher-extensions` or `core/string-extensions`. The scope can also reference one or multiple GitHub issues.
6575
The short description must describe in as few words as possible what the commit does. It must be written in imperative tense and can reference a GitHub issue.
6676
The long description may go further into explaining why some changes were necessary (e.g. if a feature is done through a refactoring).
6777
6878
For example, you may do something like:
6979
```shell
7080
git commit \
71-
-m "fix(reactive/ui-extensions/#123,#124): fix issue in SignalProducer.minimum sometimes triggered before the interval elapses" \ # The type, scope + short description
72-
-m "This issue works around an internal issue in iOS." # The long description
81+
-m "fix(combine/publisher-extensions/#123): fix issue in Publisher extension" \
82+
-m "This fixes a bug where the publisher would sometimes fail to emit values correctly."
7383
```
7484

7585
You can find more info on our commit format and its purpose [in this Medium article](https://medium.com/fueled-engineering/automated-changelog-generation-at-fueled-1c06306f3b06).

0 commit comments

Comments
 (0)