Skip to content

Commit a6f8e41

Browse files
Merge pull request #2 from Alexander-Ignition/ci-testst
Ci tests
2 parents 30895df + 7371ca8 commit a6f8e41

File tree

6 files changed

+101
-104
lines changed

6 files changed

+101
-104
lines changed

.github/workflows/docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@ jobs:
2828
run: make docs
2929
- name: Setup GitHub Pages
3030
id: pages
31-
uses: actions/configure-pages@v3
31+
uses: actions/configure-pages@v4
3232
- name: Upload artifact
3333
uses: actions/upload-pages-artifact@v1
3434
with:
35-
path: docs
35+
path: Build/Docs
3636
deploy:
3737
runs-on: ubuntu-latest
3838
needs: build
3939
steps:
4040
- name: Deploy to GitHub Pages
4141
id: deployment
42-
uses: actions/deploy-pages@v2
42+
uses: actions/deploy-pages@v2
4343
environment:
4444
name: github-pages
4545
url: ${{ steps.deployment.outputs.page_url }}

.github/workflows/test.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Test
2+
on:
3+
push:
4+
branches:
5+
- main
6+
tags-ignore:
7+
- '**'
8+
paths:
9+
- 'Source/**'
10+
- 'Tests/**'
11+
- '.github/workflows/**'
12+
- 'Package.swift'
13+
- 'Makefile'
14+
pull_request:
15+
branches:
16+
- '**'
17+
paths:
18+
- 'Source/**'
19+
- 'Tests/**'
20+
- '.github/workflows/**'
21+
- 'Package.swift'
22+
- 'Makefile'
23+
24+
jobs:
25+
Apple:
26+
name: Test ${{ matrix.name }}
27+
runs-on: macOS-latest
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
include:
32+
- name: macOS
33+
target: test-macos
34+
- name: iOS
35+
target: test-ios
36+
steps:
37+
- name: Checkout
38+
uses: actions/checkout@v2
39+
- name: Build and test
40+
run: make ${{ matrix.target }}
41+
shell: bash
42+
SPM:
43+
name: Test with SPM
44+
runs-on: macOS-latest
45+
steps:
46+
- name: Checkout
47+
uses: actions/checkout@v2
48+
- name: Build and test
49+
run: swift test
50+
shell: bash

.gitignore

Lines changed: 5 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,11 @@
1-
# Xcode
2-
#
3-
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
1+
.DS_Store
42

53
## User settings
64
xcuserdata/
75

8-
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
9-
*.xcscmblueprint
10-
*.xccheckout
11-
12-
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
13-
build/
14-
DerivedData/
15-
*.moved-aside
16-
*.pbxuser
17-
!default.pbxuser
18-
*.mode1v3
19-
!default.mode1v3
20-
*.mode2v3
21-
!default.mode2v3
22-
*.perspectivev3
23-
!default.perspectivev3
24-
25-
## Obj-C/Swift specific
26-
*.hmap
27-
28-
## App packaging
29-
*.ipa
30-
*.dSYM.zip
31-
*.dSYM
32-
33-
## Playgrounds
34-
timeline.xctimeline
35-
playground.xcworkspace
36-
376
# Swift Package Manager
38-
#
39-
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
40-
# Packages/
41-
# Package.pins
42-
# Package.resolved
43-
# *.xcodeproj
44-
#
45-
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
46-
# hence it is not needed unless you have added a package configuration file to your project
47-
# .swiftpm
48-
49-
.build/
50-
51-
# CocoaPods
52-
#
53-
# We recommend against adding the Pods directory to your .gitignore. However
54-
# you should judge for yourself, the pros and cons are mentioned at:
55-
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
56-
#
57-
# Pods/
58-
#
59-
# Add this line if you want to avoid checking in source code from the Xcode workspace
60-
# *.xcworkspace
61-
62-
# Carthage
63-
#
64-
# Add this line if you want to avoid checking in source code from Carthage dependencies.
65-
# Carthage/Checkouts
66-
67-
Carthage/Build/
68-
69-
# Accio dependency management
70-
Dependencies/
71-
.accio/
72-
73-
# fastlane
74-
#
75-
# It is recommended to not store the screenshots in the git repo.
76-
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
77-
# For more information about the recommended setup visit:
78-
# https://docs.fastlane.tools/best-practices/source-control/#source-control
79-
80-
fastlane/report.xml
81-
fastlane/Preview.html
82-
fastlane/screenshots/**/*.png
83-
fastlane/test_output
84-
85-
# Code Injection
86-
#
87-
# After new code Injection tools there's a generated folder /iOSInjectionProject
88-
# https://github.com/johnno1962/injectionforxcode
89-
90-
iOSInjectionProject/
7+
/.swiftpm
8+
/.build
919

92-
# GitHub Pages
93-
docs
10+
# Makefile output dir
11+
/Build

Makefile

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,38 @@
11
TARGET_NAME = SQLime
2-
DERIVED_DATA_PATH = ./DerivedData
2+
OUTPUD_DIR = ./Build
3+
DERIVED_DATA_PATH = $(OUTPUD_DIR)/DerivedData
34

4-
.PHONY: docs clean
5+
.PHONY: clean, test, test-ios
56

6-
docs:
7-
xcodebuild docbuild -quiet \
7+
clean:
8+
swift package clean
9+
rm -rf $(OUTPUD_DIR)
10+
11+
# MARK: - Tests
12+
13+
test:
14+
swift test
15+
16+
XCODEBUILD_TEST = xcodebuild test -quiet -scheme $(TARGET_NAME)
17+
18+
test-macos:
19+
$(XCODEBUILD_TEST) -destination 'platform=macOS'
20+
21+
test-ios:
22+
$(XCODEBUILD_TEST) -destination 'platform=iOS Simulator,name=iPhone 16'
23+
24+
# MARK: - DocC
25+
26+
DOCC_ARCHIVE = $(DERIVED_DATA_PATH)/Build/Products/Debug/$(TARGET_NAME).doccarchive
27+
28+
$(DOCC_ARCHIVE):
29+
xcodebuild docbuild \
30+
-quiet \
831
-scheme $(TARGET_NAME) \
9-
-derivedDataPath $(DERIVED_DATA_PATH) \
10-
-destination 'platform=macOS'
11-
xcrun docc process-archive transform-for-static-hosting \
12-
$(DERIVED_DATA_PATH)/Build/Products/Debug/$(TARGET_NAME).doccarchive \
32+
-destination "generic/platform=macOS" \
33+
-derivedDataPath $(DERIVED_DATA_PATH)
34+
35+
$(OUTPUD_DIR)/Docs: $(DOCC_ARCHIVE)
36+
xcrun docc process-archive transform-for-static-hosting $^ \
1337
--hosting-base-path $(TARGET_NAME) \
1438
--output-path $@
15-
16-
clean:
17-
swift package clean
18-
rm -rf $(DERIVED_DATA_PATH)
19-
rm -rf docs

Package.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
// swift-tools-version:5.3
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
55

66
let package = Package(
77
name: "SQLime",
8+
platforms: [
9+
.macOS(.v12),
10+
.iOS(.v12),
11+
],
812
products: [
913
.library(
1014
name: "SQLime",

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
# 🍋 SQLime
22

3+
[![Test](https://github.com/Alexander-Ignition/Octokot/actions/workflows/test.yml/badge.svg)](https://github.com/Alexander-Ignition/Octokot/actions/workflows/test.yml)
4+
[![Swift 5.9](https://img.shields.io/badge/swift-5.9-brightgreen.svg?style=flat)](https://developer.apple.com/swift)
5+
[![GitHub license](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://github.com/Alexander-Ignition/Octokot/blob/master/LICENSE)
6+
37
Swift SQLite wrapper.
8+
9+
[Documentation](https://alexander-ignition.github.io/SQLime/documentation/sqlime/)

0 commit comments

Comments
 (0)