Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 4 additions & 2 deletions .github/workflows/docc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@ on:
branches: [ main ]

env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.3.app/Contents/Developer

jobs:
docc:
name: DocC
runs-on: macos-latest
permissions:
contents: read
steps:
- name: Checkout source
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Build
run: make docs open="no" DERIVED_DATA_PATH="$(mktemp -d)"
13 changes: 6 additions & 7 deletions .github/workflows/genesis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,23 @@ on:
branches: [ main ]

env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.3.app/Contents/Developer

jobs:
genesis:
name: Genesis
runs-on: macos-latest
permissions:
contents: read
env:
SIMULATOR: iPhone 15
SIMULATOR: iPhone 17
steps:
- name: Install dependencies
run: |
brew install mint xcodegen needle mockolo
mint install yonaskolb/genesis
- name: Checkout source
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Create temporary directory
id: mktemp
run: echo "directory=$(mktemp -d)" >> "$GITHUB_OUTPUT"
Expand All @@ -33,16 +35,13 @@ jobs:
- name: Generate Xcode project
working-directory: ${{ steps.mktemp.outputs.directory }}
run: xcodegen
- name: Remove @MainActor
working-directory: ${{ steps.mktemp.outputs.directory }}
run: find "Tinder/Sources" -type f -name "*.swift" -exec sed -i '' '/@MainActor/,+0d' {} \;
- name: Download swiftlint binary
working-directory: ${{ steps.mktemp.outputs.directory }}
run: swift package resolve
- name: Lint
working-directory: ${{ steps.mktemp.outputs.directory }}
run: >
"$(find ".build/artifacts/swiftlint" -type f -name swiftlint -perm +111 -print -quit)"
"$(find ".build/artifacts/swiftlint" -path "*macos*" -type f -name swiftlint -perm +111 -print -quit)"
lint --strict --reporter github-actions-logging
- name: Resolve package dependencies
working-directory: ${{ steps.mktemp.outputs.directory }}
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,20 @@ on:
branches: [ main ]

env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.3.app/Contents/Developer

jobs:
lint:
name: Lint
runs-on: macos-latest
permissions:
contents: read
steps:
- name: Checkout source
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Download swiftlint binary
run: swift package resolve
- name: Lint
run: >
"$(find ".build/artifacts/swiftlint" -type f -name swiftlint -perm +111 -print -quit)"
"$(find ".build/artifacts/swiftlint" -path "*macos*" -type f -name swiftlint -perm +111 -print -quit)"
lint --strict --reporter github-actions-logging
13 changes: 6 additions & 7 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,7 @@ on:
tags: ['[0-9]+.[0-9]+.[0-9]+']

env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer

permissions:
contents: read
pages: write
id-token: write
DEVELOPER_DIR: /Applications/Xcode_26.3.app/Contents/Developer

concurrency:
group: "pages"
Expand All @@ -23,9 +18,13 @@ jobs:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: macos-latest
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout source
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Configure pages
uses: actions/configure-pages@v5
- name: Build documentation
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,17 @@ on:
branches: [ main ]

env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.3.app/Contents/Developer

jobs:
swift:
name: Swift
runs-on: macos-latest
permissions:
contents: read
steps:
- name: Checkout source
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Build
run: swift build -v
- name: Test
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/xcode.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,19 @@ on:
branches: [ main ]

env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.3.app/Contents/Developer

jobs:
xcode:
name: Xcode
runs-on: macos-latest
permissions:
contents: read
env:
SIMULATOR: iPhone 15
SIMULATOR: iPhone 17
steps:
- name: Checkout source
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Resolve package dependencies
run: xcodebuild -resolvePackageDependencies
- name: Build
Expand Down
8 changes: 5 additions & 3 deletions .swiftlint-rules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ only_rules:
- accessibility_label_for_image
- accessibility_trait_for_button
- anonymous_argument_in_multiline_closure
- anyobject_protocol
- array_init
- async_without_await
- attribute_name_spacing
# - attributes
- balanced_xctest_lifecycle
- blanket_disable_command
Expand Down Expand Up @@ -94,7 +95,6 @@ only_rules:
- implicitly_unwrapped_optional
- inclusive_language
# - indentation_width
- inert_defer
- invalid_swiftlint_command
- is_disjoint
- joined_default_parameter
Expand Down Expand Up @@ -145,6 +145,7 @@ only_rules:
- opening_brace
- operator_usage_whitespace
- operator_whitespace
- optional_data_string_conversion
- optional_enum_case_matching
- orphaned_doc_comment
- overridden_super_call
Expand All @@ -155,6 +156,7 @@ only_rules:
- prefer_nimble
- prefer_self_in_static_references
- prefer_self_type_over_type_of_self
- prefer_type_checking
- prefer_zero_over_explicit_init
# - prefixed_toplevel_constant
- private_action
Expand All @@ -177,6 +179,7 @@ only_rules:
- redundant_objc_attribute
- redundant_optional_initialization
- redundant_self_in_closure
- redundant_sendable
- redundant_set_access_control
# - redundant_string_enum_value
- redundant_type_annotation
Expand Down Expand Up @@ -224,7 +227,6 @@ only_rules:
- unneeded_synthesized_initializer
- unowned_variable_capture
- untyped_error_in_catch
- unused_capture_list
- unused_closure_parameter
- unused_control_flow_label
- unused_enumerated
Expand Down
43 changes: 1 addition & 42 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,23 +1,3 @@
.PHONY: release
release: override library = Nodes
release: override platforms = macos catalyst ios tvos watchos
release: override bitcode = DISABLED
release:
@make xcframework library="$(library)" platforms="$(platforms)" bitcode="$(bitcode)" version="$(version)"

.PHONY: xcframework
xcframework: library ?= $(shell make get-libraries | head -1)
xcframework: platforms ?= $(shell make get-platforms)
xcframework:
ifndef version
$(error required variable: "version")
endif
ifeq ($(strip $(bitcode)),ENABLED)
@./bin/create-xcframework "$(library)" "$(platforms)" BITCODE_ENABLED "$(version)"
else
@./bin/create-xcframework "$(library)" "$(platforms)" BITCODE_DISABLED "$(version)"
endif

.PHONY: open
open: fix
open:
Expand Down Expand Up @@ -81,19 +61,13 @@ docs:
-scheme "$(target)" \
-destination "$(destination)" \
-derivedDataPath "$(DERIVED_DATA_PATH)" \
-skipPackagePluginValidation \
OTHER_DOCC_FLAGS="--warnings-as-errors"
-skipPackagePluginValidation
@find "$(DERIVED_DATA_PATH)" \
-type d \
-name "$(target).doccarchive" \
-exec cp -R {} "$(ARCHIVE_PATH)/" \;
$(if $(filter $(open),OPEN),@open "$(ARCHIVE_PATH)/$(target).doccarchive",)

.PHONY: preview
preview: target ?= Nodes
preview:
swift package --disable-sandbox preview-documentation --target "$(target)"

.PHONY: site
site: target ?= Nodes
site: prefix ?= $(shell pwd)
Expand All @@ -108,18 +82,3 @@ site:
--output-path "$(prefix)/_site"
cp docs.html "$(prefix)/_site/index.html"
cp docs.html "$(prefix)/_site/documentation/index.html"

.PHONY: get-libraries
get-libraries:
@./bin/get-libraries

.PHONY: get-platforms
get-platforms:
@./bin/get-platforms

.PHONY: get-deployment-target
get-deployment-target:
ifndef platform
$(error required variable: "platform")
endif
@./bin/get-deployment-target "$(platform)"
Loading