chore(deps): bump actions/cache from 4 to 5#2
Closed
dependabot[bot] wants to merge 50 commits intomainfrom
Closed
Conversation
- Implements unified Domain type supporting RFC 1035, RFC 1123, and RFC 5321 standards - Provides domain validation, subdomain operations, and parent/child relationships - Includes comprehensive test suite with 53 passing tests - Supports Codable, RawRepresentable, and CustomStringConvertible protocols - Clean API for domain name handling across different RFC requirements
…on tests - Create comprehensive README from scratch (240 lines) - Add 4-badge standard: Swift, Platforms, License, CI - Complete overview with Multi-RFC Support (1035, 1123, 5321) - 7 key features: Multi-RFC, Type Safety, Domain Operations, Component Access, Codable, Protocols - Installation, Quick Start with 3 sections - 9 detailed usage examples covering all major functionality - Architecture section explaining RFC standards and Domain type - Error handling, Related Packages, Requirements, Contributing - Add ReadmeVerificationTests.swift with 9 comprehensive tests - One test per README code block with line references - All 62 tests passing (53 original + 9 new) - Used _Domain to avoid ambiguity with RFC_1035.Domain - Add Point-Free style CI/CD infrastructure - ci.yml: macOS (debug+release) + Linux testing, README validation - release.yml: Automated releases with tag validation - swift-format.yml: Auto-format on push to main - swiftlint.yml: Code quality checks on PRs (non-blocking) - dependabot.yml: Weekly Swift dependencies, monthly Actions updates - Add code quality configuration files - .swift-format: 100 char line length, 2 space indent - .swiftlint.yml: Already present, Point-Free style rules
- Update Related Packages to use exact GitHub repo descriptions - Fix release.yml to use correct package name (swift-domain-type) - Fix target name in documentation generation (Domain not EmailAddress) - Fix documentation URLs and redirects
- Add TOC for README >200 lines (now 254 lines) - Remove marketing word 'seamlessly' from Features section - All 62 tests still passing
- Add macOS jobs for Swift 6.0 (Xcode 16.0) and 6.2 (Xcode 16.2) - Add Linux jobs for Swift 6.0 and 6.2 containers - Test both debug and release configurations on macOS - Ensures compatibility at both ends of support range (Point-Free approach)
- Update swift-format to Swift 6.2 - Standardize swiftlint to simple variant - Remove Windows CI jobs (too flaky) - Add README validation where missing - Add missing workflow files All swift-* packages now have consistent CI configuration: - Test on minimum Swift version (macOS) - Test on Swift 6.2 (macOS & Ubuntu) - README validation tests - No Windows support
Preserve 'let _ =' in result builder contexts (required for Swift 6.0+)
Updates CI workflows to follow organizational standard: - Reduced from 6 jobs to 3 (1 macOS + 2 Linux) - Fixed cache keys to use Package.swift instead of Package.resolved - Removed redundant build steps (swift test builds automatically) - Consolidated validation steps into macos-latest job - Updated swift-format.yml with proper caching (separate restore/save steps) - Added git safe directory configuration - Used static cache keys for swift-format tool Benefits: - 83% reduction in macOS runner usage - No redundant builds - Faster CI execution - Proper cache invalidation strategy
Updated RFC package URLs from swift-web-standards to swift-standards to reflect organization rename.
- Split Domain implementation into separate RFC extension files - Add Domain+RFC1035.swift for RFC 1035 support - Add Domain+RFC1123.swift for RFC 1123 support - Update main Domain.swift implementation
- Renamed module from 'Domain' to 'Domain Standard' for consistency - Updated code formatting and documentation - Updated Package.swift and README - Improved test organization
Convert @suite and @test declarations to use Swift 6.2 backtick syntax: - @suite("Name") struct Foo → @suite struct `Name` - @test("Description") func test() → @test func `Description`() - @test("Desc", arguments: [...]) → @test(arguments: [...]) func `Desc`() This leverages Swift 6.2's support for backticks in identifiers, making test names more readable and eliminating duplicate strings.
Changes: - Update dependencies to use local paths instead of GitHub URLs - .package(path: "../swift-rfc-1035") instead of URL - .package(path: "../swift-rfc-1123") instead of URL - .package(path: "../swift-rfc-5321") instead of URL This allows for easier local development and ensures we're using the latest local versions of the RFC packages.
This reverts commit b9445cc.
Integrates RFC 5890 (IDNA2008) for internationalized domain name support.
Changes:
- Add swift-rfc-5890 dependency to Package.swift
- Create Domain+RFC5890.swift extension with IDNA operations
- Add toASCII() method to convert Unicode domains to A-labels
- Add toUnicode() method to convert A-labels to Unicode
- Add isInternationalized property to detect non-ASCII domains
- Add hasALabels property to detect ACE-encoded labels
This enables the Domain type to handle internationalized domain names
like "münchen.de" ↔ "xn--mnchen-3ya.de" per IDNA2008 standards.
Example usage:
```swift
let domain = try Domain("café.com")
let ascii = try domain.toASCII() // "xn--caf-dma.com"
let encoded = try Domain("xn--caf-dma.com")
let unicode = try encoded.toUnicode() // "café.com"
```
…DNA API ## Architecture - Implement product type: Domain = RFC_1123.Domain × Optional<RFC_1035.Domain> - Store most permissive representation (RFC 1123) + stricter variant (RFC 1035) if applicable - Provide direct convenience methods (domain.tld, domain.isSubdomain, etc.) - O(1) performance for all operations - Efficient Codable encoding (single string representation) ## IDNA Transformations - Replace toASCII()/toUnicode() methods with init(ascii:)/init(unicode:) extensions - Follow Swift API Design Guidelines for value-preserving conversions - Add deprecated methods with rename hints for migration - Implement as natural transformations (category theory) ## File Organization - Domain.swift - Core type with canonical initializers - Domain+IDNA.swift - IDNA2008 transformations - Domain+RFC.swift - RFC interoperability extensions - Remove old file structure (RFC1035/RFC1123/RFC5890 separate files) ## Tests - Fix error type references for typed throws hierarchy - Update RFC 1035 tests for Label.Error cases (startsWithHyphen/endsWithHyphen) - Update RFC 1123 tests for Label.Error cases (invalidTLD/invalidCharacters) - Fix RFC 5321 tests to use RFC_1123.Domain (RFC 5321 uses RFC 1123 domain syntax) - Remove rfc5321 property references (RFC_5321.Domain is type alias for RFC_1123.Domain) - All 62 tests passing ## Documentation - Add comprehensive category theory explanations - Document product type rationale and RFC hierarchy - Include usage examples for new init-based IDNA API
Update all public Domain initializers and methods to accept StringProtocol conforming types, enabling use with Substring and other string types without requiring conversion to String at call sites. Changes: - init(_:) now accepts <S: StringProtocol> - init(labels:) now accepts <S: StringProtocol> array - addingSubdomain(_:) now accepts <S: StringProtocol> variadic parameters Internal string storage remains unchanged, conversion happens at API boundary.
Block all .md files by default except: - Whitelisted documentation files (README, LICENSE, etc.) - Files within .docc documentation catalogs
Inherit SwiftLint rules from the parent swift-standards repository.
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v4...v5) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps actions/cache from 4 to 5.
Release notes
Sourced from actions/cache's releases.
... (truncated)
Changelog
Sourced from actions/cache's changelog.
... (truncated)
Commits
9255dc7Merge pull request #1686 from actions/cache-v5.0.1-release8ff5423chore: release v5.0.19233019Merge pull request #1685 from salmanmkc/node24-storage-blob-fixb975f2bfix: add peer property to package-lock.json for dependenciesd0a0e18fix: update license files for@actions/cache, fast-xml-parser, and strnum74de208fix: update@actions/cacheto ^5.0.1 for Node.js 24 punycode fixac7f115peerb0f846bfix: update@actions/cachewith storage-blob fix for Node.js 24 punycode depr...a783357Merge pull request #1684 from actions/prepare-cache-v5-release3bb0d78docs: highlight v5 runner requirement in releasesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)