Skip to content

Commit 53fae2f

Browse files
authored
Release 1.0.0 (#9)
* Change the locking mechanism from `DispatchSemaphore` to `unfair_lock_os` (#2) * Implement `os_unfair_lock` * Update `CHANGELOG.md` * Integrate `Danger` (#3) * Integrate `Danger` * Update `ci.yml` * Add `SwiftLint` job in `ci.yml` * Update `CHANGELOG.md` * Integrate `CodeCov` (#4) * Integrate `CodeCov` * Update `CHANGELOG.md` * Update `pre-commit` hook (#5) * Update `pre-commit` hook * Fix `SwiftLint` warnings * Update `CHANGELOG.md` * `visionOS` support (#6) * `visionOS` support * Update `.swiftlint.yml` * Update `CHANGELOG.md` * Add `sdk` key (#7) * Update `README.md` & `CHANGELOG.md` (#8) * Update `README.md` * Update `CHANGELOG.md` * Update `README.md`
1 parent c99f771 commit 53fae2f

File tree

18 files changed

+595
-55
lines changed

18 files changed

+595
-55
lines changed

.github/workflows/ci.yml

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,24 @@ on:
66
- main
77
- dev
88
pull_request:
9-
branches: [ main ]
10-
11-
concurrency:
12-
group: ci
13-
cancel-in-progress: true
9+
paths:
10+
- '.swiftlint.yml'
11+
- ".github/workflows/**"
12+
- "Package.swift"
13+
- "Source/**"
14+
- "Tests/**"
1415

1516
jobs:
17+
SwiftLint:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v3
21+
- name: GitHub Action for SwiftLint
22+
uses: norio-nomura/action-swiftlint@3.2.1
23+
with:
24+
args: --strict
25+
env:
26+
DIFF_BASE: ${{ github.base_ref }}
1627
Latest:
1728
name: Test Latest (iOS, macOS, tvOS, watchOS)
1829
runs-on: macOS-12
@@ -26,16 +37,26 @@ jobs:
2637
- destination: "OS=16.1,name=iPhone 14 Pro"
2738
name: "iOS"
2839
scheme: "Atomic"
40+
sdk: iphonesimulator
2941
- destination: "OS=16.1,name=Apple TV"
3042
name: "tvOS"
3143
scheme: "Atomic"
44+
sdk: appletvsimulator
3245
- destination: "OS=9.1,name=Apple Watch Series 8 (45mm)"
3346
name: "watchOS"
3447
scheme: "Atomic"
48+
sdk: watchsimulator
3549
- destination: "platform=macOS"
3650
name: "macOS"
3751
scheme: "Atomic"
52+
sdk: macosx
3853
steps:
3954
- uses: actions/checkout@v3
4055
- name: ${{ matrix.name }}
41-
run: xcodebuild test -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean
56+
run: xcodebuild test -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "./${{ matrix.sdk }}.xcresult"
57+
- name: Upload coverage reports to Codecov
58+
uses: codecov/codecov-action@v3.1.0
59+
with:
60+
token: ${{ secrets.CODECOV_TOKEN }}
61+
xcode: true
62+
xcode_archive_path: "./${{ matrix.sdk }}.xcresult"

.github/workflows/danger.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Danger
2+
3+
on:
4+
pull_request:
5+
types: [synchronize, opened, reopened, labeled, unlabeled, edited]
6+
7+
env:
8+
LC_CTYPE: en_US.UTF-8
9+
LANG: en_US.UTF-8
10+
11+
jobs:
12+
run-danger:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: ruby setup
16+
uses: ruby/setup-ruby@v1
17+
with:
18+
ruby-version: 2.7
19+
bundler-cache: true
20+
- name: Checkout code
21+
uses: actions/checkout@v2
22+
- name: Setup gems
23+
run: |
24+
gem install bundler
25+
bundle install --clean --path vendor/bundle
26+
- name: danger
27+
env:
28+
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
29+
run: bundle exec danger --verbose

.swiftlint.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ excluded:
22
- Tests
33
- Package.swift
44
- .build
5+
- Package@swift-5.7.swift
56

67
# Rules
78

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1410"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "Atomic"
18+
BuildableName = "Atomic"
19+
BlueprintName = "Atomic"
20+
ReferencedContainer = "container:">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
<BuildActionEntry
24+
buildForTesting = "YES"
25+
buildForRunning = "YES"
26+
buildForProfiling = "NO"
27+
buildForArchiving = "NO"
28+
buildForAnalyzing = "YES">
29+
<BuildableReference
30+
BuildableIdentifier = "primary"
31+
BlueprintIdentifier = "AtomicTests"
32+
BuildableName = "AtomicTests"
33+
BlueprintName = "AtomicTests"
34+
ReferencedContainer = "container:">
35+
</BuildableReference>
36+
</BuildActionEntry>
37+
</BuildActionEntries>
38+
</BuildAction>
39+
<TestAction
40+
buildConfiguration = "Debug"
41+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
42+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
43+
shouldUseLaunchSchemeArgsEnv = "YES"
44+
codeCoverageEnabled = "YES"
45+
onlyGenerateCoverageForSpecifiedTargets = "YES">
46+
<CodeCoverageTargets>
47+
<BuildableReference
48+
BuildableIdentifier = "primary"
49+
BlueprintIdentifier = "Atomic"
50+
BuildableName = "Atomic"
51+
BlueprintName = "Atomic"
52+
ReferencedContainer = "container:">
53+
</BuildableReference>
54+
</CodeCoverageTargets>
55+
<Testables>
56+
<TestableReference
57+
skipped = "NO">
58+
<BuildableReference
59+
BuildableIdentifier = "primary"
60+
BlueprintIdentifier = "AtomicTests"
61+
BuildableName = "AtomicTests"
62+
BlueprintName = "AtomicTests"
63+
ReferencedContainer = "container:">
64+
</BuildableReference>
65+
</TestableReference>
66+
</Testables>
67+
</TestAction>
68+
<LaunchAction
69+
buildConfiguration = "Debug"
70+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
71+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
72+
launchStyle = "0"
73+
useCustomWorkingDirectory = "NO"
74+
ignoresPersistentStateOnLaunch = "NO"
75+
debugDocumentVersioning = "YES"
76+
debugServiceExtension = "internal"
77+
allowLocationSimulation = "YES">
78+
</LaunchAction>
79+
<ProfileAction
80+
buildConfiguration = "Release"
81+
shouldUseLaunchSchemeArgsEnv = "YES"
82+
savedToolIdentifier = ""
83+
useCustomWorkingDirectory = "NO"
84+
debugDocumentVersioning = "YES">
85+
<MacroExpansion>
86+
<BuildableReference
87+
BuildableIdentifier = "primary"
88+
BlueprintIdentifier = "Atomic"
89+
BuildableName = "Atomic"
90+
BlueprintName = "Atomic"
91+
ReferencedContainer = "container:">
92+
</BuildableReference>
93+
</MacroExpansion>
94+
</ProfileAction>
95+
<AnalyzeAction
96+
buildConfiguration = "Debug">
97+
</AnalyzeAction>
98+
<ArchiveAction
99+
buildConfiguration = "Release"
100+
revealArchiveInOrganizer = "YES">
101+
</ArchiveAction>
102+
</Scheme>

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Change Log
2+
All notable changes to this project will be documented in this file.
3+
4+
#### 1.0.x Releases
5+
- `1.0.x` Releases - [1.0.0](#100)
6+
7+
#### 0.0.x Releases
8+
- `0.0.x` Releases - [0.0.1](#001)
9+
10+
---
11+
12+
## [1.0.0](https://github.com/space-code/atomic/releases/tag/1.0.0)
13+
Released on 2023-11-06.
14+
15+
## Added
16+
- Add `visionOS` support
17+
- Added in Pull Request [#6](https://github.com/space-code/atomic/pull/6).
18+
- Updating pre-commit hook rules
19+
- Added in Pull Request [#5](https://github.com/space-code/atomic/pull/5).
20+
- Integrate `CodeCov`
21+
- Added in Pull Request [#4](https://github.com/space-code/atomic/pull/4).
22+
- Integrate `Danger`
23+
- Added in Pull Request [#3](https://github.com/space-code/atomic/pull/3).
24+
- Change the locking mechanism from `DispatchSemaphore` to `unfair_lock_os` and add support for `@dynamicMemberLookup`
25+
- Added in Pull Request [#2](https://github.com/space-code/atomic/pull/2).
26+
27+
---
28+
29+
## [0.0.1](https://github.com/space-code/atomic/releases/tag/0.0.1)
30+
Released on 2023-06-18.
31+
32+
#### Added
33+
- Initial release of Atomic.
34+
- Added by [Nikita Vasilev](https://github.com/nik3212).

Dangerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
danger.import_dangerfile(github: 'space-code/dangerfile')

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source "https://rubygems.org"
2+
3+
gem 'danger'

Gemfile.lock

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.8.5)
5+
public_suffix (>= 2.0.2, < 6.0)
6+
base64 (0.1.1)
7+
claide (1.1.0)
8+
claide-plugins (0.9.2)
9+
cork
10+
nap
11+
open4 (~> 1.3)
12+
colored2 (3.1.2)
13+
cork (0.3.0)
14+
colored2 (~> 3.1)
15+
danger (9.3.2)
16+
claide (~> 1.0)
17+
claide-plugins (>= 0.9.2)
18+
colored2 (~> 3.1)
19+
cork (~> 0.1)
20+
faraday (>= 0.9.0, < 3.0)
21+
faraday-http-cache (~> 2.0)
22+
git (~> 1.13)
23+
kramdown (~> 2.3)
24+
kramdown-parser-gfm (~> 1.0)
25+
no_proxy_fix
26+
octokit (~> 6.0)
27+
terminal-table (>= 1, < 4)
28+
faraday (2.7.11)
29+
base64
30+
faraday-net_http (>= 2.0, < 3.1)
31+
ruby2_keywords (>= 0.0.4)
32+
faraday-http-cache (2.5.0)
33+
faraday (>= 0.8)
34+
faraday-net_http (3.0.2)
35+
git (1.18.0)
36+
addressable (~> 2.8)
37+
rchardet (~> 1.8)
38+
kramdown (2.4.0)
39+
rexml
40+
kramdown-parser-gfm (1.1.0)
41+
kramdown (~> 2.0)
42+
nap (1.1.0)
43+
no_proxy_fix (0.1.2)
44+
octokit (6.1.1)
45+
faraday (>= 1, < 3)
46+
sawyer (~> 0.9)
47+
open4 (1.3.4)
48+
public_suffix (5.0.3)
49+
rchardet (1.8.0)
50+
rexml (3.2.6)
51+
ruby2_keywords (0.0.5)
52+
sawyer (0.9.2)
53+
addressable (>= 2.3.5)
54+
faraday (>= 0.17.3, < 3)
55+
terminal-table (3.0.2)
56+
unicode-display_width (>= 1.1.1, < 3)
57+
unicode-display_width (2.5.0)
58+
59+
PLATFORMS
60+
x86_64-darwin-22
61+
62+
DEPENDENCIES
63+
danger
64+
65+
BUNDLED WITH
66+
2.4.21

Package.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.5
1+
// swift-tools-version: 5.9
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import PackageDescription
@@ -10,6 +10,7 @@ let package = Package(
1010
.iOS(.v13),
1111
.watchOS(.v6),
1212
.tvOS(.v11),
13+
.visionOS(.v1),
1314
],
1415
products: [
1516
.library(name: "Atomic", targets: ["Atomic"]),

Package@swift-5.7.swift

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// swift-tools-version: 5.7
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "Atomic",
8+
platforms: [
9+
.macOS(.v10_15),
10+
.iOS(.v13),
11+
.watchOS(.v6),
12+
.tvOS(.v11),
13+
],
14+
products: [
15+
.library(name: "Atomic", targets: ["Atomic"]),
16+
],
17+
dependencies: [],
18+
targets: [
19+
.target(
20+
name: "Atomic",
21+
dependencies: []
22+
),
23+
.testTarget(
24+
name: "AtomicTests",
25+
dependencies: ["Atomic"]
26+
),
27+
]
28+
)

0 commit comments

Comments
 (0)