Skip to content
Open
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
60 changes: 34 additions & 26 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,69 +13,77 @@ concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

env:
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer

jobs:
buildFramework:
build-framework:
name: Build framework
runs-on: macos-12
env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer
runs-on: macos-latest

strategy:
matrix:
target:
- destination: "OS=16.2,name=iPhone 14 Pro"
- destination: "arch=arm64,OS=26.2,name=iPhone 17 Pro"
actions: "build test"
- destination: "OS=16.1,name=Apple TV 4K (3rd generation)"

- destination: "arch=arm64,OS=26.2,name=Apple TV 4K (3rd generation)"
actions: "build test"

- destination: "platform=macOS"
actions: "build"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- name: Build framework - ${{ matrix.target.destination }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "Charts.xcworkspace" -scheme "DGCharts" -destination "${{ matrix.target.destination }}" clean ${{ matrix.target.actions }} | xcpretty

buildDemo:
build-demo:
name: Build demo
runs-on: macos-12
env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer
runs-on: macos-latest

strategy:
matrix:
target:
- scheme: "ChartsDemo-iOS"
destination: "OS=16.2,name=iPhone 14 Pro"
destination: "arch=arm64,OS=26.2,name=iPhone 17 Pro"

- scheme: "ChartsDemo-macOS"
destination: "platform=macOS"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- name: Build demo - ${{ matrix.target.destination }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "Charts.xcworkspace" -scheme "${{ matrix.target.scheme }}" -destination "${{ matrix.target.destination }}" clean build | xcpretty

spm:
name: Test with SPM
runs-on: macos-12
env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer
runs-on: macos-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- name: SPM Test
run: swift build

carthage:
name: Test with carthage
runs-on: macos-12
env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer
runs-on: macos-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- name: Carthage Test
run: carthage build --use-xcframeworks --no-skip-current

cocoapods:
name: Test with cocoapods
runs-on: macos-12
env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer
runs-on: macos-latest

steps:
- uses: actions/checkout@v3
- name: Cocoapdos Test
- uses: actions/checkout@v6

- name: Cocoapods Test
run: pod lib lint
35 changes: 35 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Changelog

on:
workflow_dispatch:
release:
types:
- published

permissions:
contents: write

jobs:
changelog:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
with:
ref: master
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This repository appears to use main (per PR metadata/diff context), but the workflow checks out master. This will fail in repos without a master branch and also risks pushing the changelog to the wrong branch. Consider checking out the default branch (e.g., ref: ${{ github.event.repository.default_branch }}) or explicitly main if that’s the intended target.

Suggested change
ref: master
ref: ${{ github.event.repository.default_branch }}

Copilot uses AI. Check for mistakes.
fetch-depth: 0

- name: Generate changelog
uses: janheinrichmerker/action-github-changelog-generator@v2.4
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For supply-chain hardening, third-party GitHub Actions should be pinned to a full commit SHA rather than a mutable tag (like v2.4). Pinning reduces the risk of unexpected changes if the tag is moved.

Suggested change
uses: janheinrichmerker/action-github-changelog-generator@v2.4
uses: janheinrichmerker/action-github-changelog-generator@0123456789abcdef0123456789abcdef01234567 # v2.4

Copilot uses AI. Check for mistakes.
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Commit and push changelog
env:
TAG_NAME: ${{ github.event.release.tag_name }}
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add CHANGELOG.md
git diff --cached --quiet || git commit -m "Update CHANGELOG.md for ${TAG_NAME}"
git push
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ on:

jobs:
build:
runs-on: macos-12
runs-on: macos-latest

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v6

- name: Install Cocoapods
run: gem install cocoapods
Expand Down
24 changes: 16 additions & 8 deletions Charts.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
50476F8E6662CAFC1EFE0723 /* ScatterChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 219BC9CEA037F897E92E45D1 /* ScatterChartDataSetProtocol.swift */; };
515E286E6C47594D3FFA3DD1 /* ViewPortHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72EAEBB7CF73E33565FC2896 /* ViewPortHandler.swift */; };
53A91F6F86740E26FE733639 /* BarLineScatterCandleBubbleChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D717F0808DE7EC8A4AE9C2A /* BarLineScatterCandleBubbleChartDataSet.swift */; };
55485BCD2F5BDDC600634105 /* NSRectCorner.h in Headers */ = {isa = PBXBuildFile; fileRef = 55485BC32F594DD500634105 /* NSRectCorner.h */; settings = {ATTRIBUTES = (Public, ); }; };
56E0F5EA9255B9B92876E040 /* BubbleChartRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2194AA554712E6BA2677F114 /* BubbleChartRenderer.swift */; };
5C457D9A50DA20869AD1739D /* ScatterChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18462BFDD9DEE76D51D40503 /* ScatterChartView.swift */; };
5DC9BC1B6C128B2C9995AB84 /* ScatterChartRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80D5B764EC0AE1E17E55DC67 /* ScatterChartRenderer.swift */; };
Expand Down Expand Up @@ -243,6 +244,7 @@
52265C1B343CCC41AF2300E3 /* CombinedChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombinedChartRenderer.swift; path = Source/Charts/Renderers/CombinedChartRenderer.swift; sourceTree = "<group>"; };
539382766378B702660FDFB2 /* HorizontalBarChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HorizontalBarChartRenderer.swift; path = Source/Charts/Renderers/HorizontalBarChartRenderer.swift; sourceTree = "<group>"; };
543729805D897CC03E5F78D3 /* BarHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarHighlighter.swift; path = Source/Charts/Highlight/BarHighlighter.swift; sourceTree = "<group>"; };
55485BC32F594DD500634105 /* NSRectCorner.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NSRectCorner.h; path = Source/Charts/Utils/NSRectCorner.h; sourceTree = "<group>"; };
559DB735FEA17AB90676D6CA /* BarLineScatterCandleBubbleChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarLineScatterCandleBubbleChartData.swift; path = Source/Charts/Data/Implementations/Standard/BarLineScatterCandleBubbleChartData.swift; sourceTree = "<group>"; };
596963A429D485E3894C4666 /* Marker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Marker.swift; path = Source/Charts/Components/Marker.swift; sourceTree = "<group>"; };
5983826927D825EF5F855C28 /* ChartHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartHighlighter.swift; path = Source/Charts/Highlight/ChartHighlighter.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -651,6 +653,7 @@
D047819AB7170595896D6FE8 /* Utils */ = {
isa = PBXGroup;
children = (
55485BC32F594DD500634105 /* NSRectCorner.h */,
067934542A324A9D004BFBA9 /* Indexed.swift */,
067934552A324A9D004BFBA9 /* Partition.swift */,
F6227A646166E248F90F86AD /* ChartColorTemplates.swift */,
Expand Down Expand Up @@ -740,6 +743,7 @@
buildActionMask = 2147483647;
files = (
BEFD9518F3A74ACF8FA33308 /* DGCharts.h in Headers */,
55485BCD2F5BDDC600634105 /* NSRectCorner.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -795,7 +799,7 @@
attributes = {
BuildIndependentTargetsInParallel = YES;
LastSwiftUpdateCheck = 0830;
LastUpgradeCheck = 1430;
LastUpgradeCheck = 2620;
TargetAttributes = {
A58A4ED274A941CA248EA921 = {
LastSwiftMigration = 1150;
Expand Down Expand Up @@ -1039,19 +1043,19 @@
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
EAGER_LINKING = YES;
ENABLE_MODULE_VERIFIER = NO;
ENABLE_MODULE_VERIFIER = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_VERSION = A;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Source/Supporting Files/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 5.1.0;
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
Expand All @@ -1066,7 +1070,7 @@
SWIFT_COMPILATION_MODE = singlefile;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
TVOS_DEPLOYMENT_TARGET = 13.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
Expand Down Expand Up @@ -1142,6 +1146,7 @@
DEAD_CODE_STRIPPING = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
Expand All @@ -1151,6 +1156,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
SDKROOT = macosx;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -1197,6 +1203,7 @@
DEAD_CODE_STRIPPING = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
Expand All @@ -1214,6 +1221,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -1241,13 +1249,13 @@
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Source/Supporting Files/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)";
MACOSX_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 5.1.0;
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
Expand All @@ -1261,7 +1269,7 @@
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
TVOS_DEPLOYMENT_TARGET = 13.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
Expand Down
2 changes: 1 addition & 1 deletion Charts.xcodeproj/xcshareddata/xcschemes/DGCharts.xcscheme
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "2620"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "2620"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Loading
Loading