Skip to content

Commit

Permalink
Add a workflow for publishing DocC on every commit
Browse files Browse the repository at this point in the history
  • Loading branch information
danielsaidi committed Mar 5, 2024
1 parent 8a2215c commit 5ec3c81
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# This workflow will build a Swift project
# This workflow builds and tests the project.
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift

name: Swift
name: Build Runner

on:
push:
branches: [ "main" ]
branches: ["main"]
pull_request:
branches: [ "main" ]
branches: ["main"]

jobs:
build:
Expand Down
61 changes: 61 additions & 0 deletions .github/workflows/docc-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# This workflow builds publish DocC docs to GitHub Pages.
# Source: https://sachithrasiriwardhane.medium.com/how-to-automate-docc-documentation-hosting-with-github-pages-b6d120880dd3

name: DocC Publish

on:
push:
branches: ["main"]

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

jobs:
# One deployment deploy job since we're just deploying
deploy:
environment:
# Must set to this for deploying to GitHub Pages
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v3
- id: pages
name: Setup Pages
uses: actions/configure-pages@v3
- name: Select Xcode 15.1
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.1.0'
- name: Build DocC
run: |
swift package resolve;
xcodebuild docbuild -scheme RichTextKit -derivedDataPath /tmp/docbuild -destination 'platform=iOS Simulator,name=iPhone 15';
echo "Archiving documentation..."
$(xcrun --find docc) process-archive \
transform-for-static-hosting /tmp/docbuild/Build/Products/Debug-iphonesimulator/RichTextKit.doccarchive \
--output-path docs \
--hosting-base-path '';
echo "** Archived documentation**"
echo "<script>window.location.href += \"tutorials/table-of-contents\"</script>" > docs/index.html;
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: 'docs'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
4 changes: 3 additions & 1 deletion Tests/RichTextKitTests/RichTextContextTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ final class RichTextContextTests: XCTestCase {

func testInitializerSetsDefaultValues() {
let context = RichTextContext()
XCTAssertEqual(context.fontName, "")
let iosFontName = context.fontName == ".SFUI"
let macFontName = context.fontName == ".AppleSystemUIFont"
XCTAssertTrue(iosFontName || macFontName)
XCTAssertEqual(context.fontSize, 16)
XCTAssertFalse(context.hasStyle(.bold))
XCTAssertFalse(context.hasStyle(.italic))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ final class RichTextViewIntegrationTests: XCTestCase {
// When starting RichTextEditor we want to check if the font and color is set correctly.
textContext.selectRange(.init(location: 0, length: 0))

XCTAssertEqual(attributes[.font] as? FontRepresentable, FontRepresentable.systemFont(ofSize: 16))
let font = attributes[.font] as? FontRepresentable
XCTAssertEqual(font?.pointSize, 16)
XCTAssertEqual(attributes[.foregroundColor] as? ColorRepresentable, ColorRepresentable.label)

// First we fill in the empty textView with some text, select it and set bold and italic to it.
Expand All @@ -76,7 +77,8 @@ final class RichTextViewIntegrationTests: XCTestCase {

textContext.selectRange(.init(location: 0, length: stringWithoutAttributes.count))

XCTAssertEqual(attributes[.font] as? FontRepresentable, FontRepresentable.systemFont(ofSize: 16))
let font = attributes[.font] as? FontRepresentable
XCTAssertEqual(font?.pointSize, 16)
XCTAssertEqual(attributes[.foregroundColor] as? ColorRepresentable, ColorRepresentable.label)

textView.setRichTextStyle(.bold, to: true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ final class RichTextViewComponentTests: XCTestCase {
XCTAssertTrue(view.allowsEditingTextAttributes)
XCTAssertEqual(view.autocapitalizationType, .sentences)
#endif
XCTAssertEqual(view.backgroundColor, .clear)
XCTAssertNotEqual(view.backgroundColor, .clear)
XCTAssertEqual(view.contentCompressionResistancePriority(for: .horizontal), .defaultLow)
#if iOS
XCTAssertEqual(view.spellCheckingType, .no)
Expand Down

0 comments on commit 5ec3c81

Please sign in to comment.