From fa79a166c9dc7190589ba4616f3ba0f8ce044fe6 Mon Sep 17 00:00:00 2001 From: Vedant Mohan Goyal <83997633+vedantmgoyal9@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:42:24 +0530 Subject: [PATCH 01/15] Delete testing/testing.csproj --- testing/testing.csproj | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 testing/testing.csproj diff --git a/testing/testing.csproj b/testing/testing.csproj deleted file mode 100644 index 2e5f120..0000000 --- a/testing/testing.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - From d8dee7e5965a44e5acc10e6871c45fea0ea9e658 Mon Sep 17 00:00:00 2001 From: Vedant Mohan Goyal <83997633+vedantmgoyal9@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:43:02 +0530 Subject: [PATCH 02/15] Delete Tester/Tester.csproj --- Tester/Tester.csproj | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 Tester/Tester.csproj diff --git a/Tester/Tester.csproj b/Tester/Tester.csproj deleted file mode 100644 index 7c37db4..0000000 --- a/Tester/Tester.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - net6.0 - enable - enable - - - - - - - From 7cc6275d9f4825d575ccc6abd653953f5c19fd14 Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:30:51 +0530 Subject: [PATCH 03/15] Update .gitignore --- .gitignore | 408 +---------------------------------------------------- 1 file changed, 7 insertions(+), 401 deletions(-) diff --git a/.gitignore b/.gitignore index 304ffde..693f251 100644 --- a/.gitignore +++ b/.gitignore @@ -1,401 +1,7 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Ww][Ii][Nn]32/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ -[Ll]ogs/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# ASP.NET Scaffolding -ScaffoldingReadMe.txt - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj -*.log -*.tlog -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Coverlet is a free, cross platform Code Coverage Tool -coverage*.json -coverage*.xml -coverage*.info - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio 6 auto-generated project file (contains which files were open etc.) -*.vbp - -# Visual Studio 6 workspace and project file (working project files containing files to include in project) -*.dsw -*.dsp - -# Visual Studio 6 technical files -*.ncb -*.aps - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - -# Visual Studio History (VSHistory) files -.vshistory/ - -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ - -# Ionide (cross platform F# VS Code tools) working folder -.ionide/ - -# Fody - auto-generated XML schema -FodyWeavers.xsd - -# VS Code files for those working on multiple tools -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -*.code-workspace - -# Local History for Visual Studio Code -.history/ - -# Windows Installer files from build outputs -*.cab -*.msi -*.msix -*.msm -*.msp - -# JetBrains Rider -*.sln.iml - -build -.idea \ No newline at end of file +.DS_Store +bin/ +obj/ +CMakeFiles +CMakeCache.txt +cmake_install.cmake +Makefile From 757eafe70c79085f85d0972354a17d115ba6111b Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:31:19 +0530 Subject: [PATCH 04/15] Update osx-x64 dylib --- .../osx-x64/native/libskeychain.dylib | Bin 182760 -> 63472 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/KeySharp/runtimes/osx-x64/native/libskeychain.dylib b/KeySharp/runtimes/osx-x64/native/libskeychain.dylib index bd411dde728e1f4e9a1cec603a4d4d428309f62b..b422b0ac36148ee8f73422148f9159b97c3999f5 100644 GIT binary patch literal 63472 zcmeHw37lM2mG`UebkYGr7n>j|7RbIiFGhGc3(L#nMa*;&6Ti0|B+ZMkwX3K!uL`?ct2 zGTG44+1}W)R&#^+qRlp=Me|+QMHa-JOm?;0*4VN-+1RqC6@`NMdKKS|T9I%Nhl`s} zj_Y>Z$>hTME9NH`Tz}niJG$<8hFJ<%0A}}jlb0+4zO{OWbwqr7UFHLyvJkbc%$+CS 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 F{{^2qi-Q0F literal 182760 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 From a582300a8caeb07d1c78fcd323fb2285f73bba22 Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:32:42 +0530 Subject: [PATCH 05/15] Update copyright to 2025 (only one month left) --- LICENSE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.txt b/LICENSE.txt index 7449d16..0ed8284 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2021 goaaats +Copyright (c) 2021-2025 goaaats Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the From 61a7d407f4299f6a76a7f88858ea9e6d75c42aa0 Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:39:11 +0530 Subject: [PATCH 06/15] Add issue and pull request templates --- .github/ISSUE_TEMPLATE/bug.yml | 24 ++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 5 +++++ .github/ISSUE_TEMPLATE/feat.yml | 17 +++++++++++++++++ .github/pull_request_template.md | 1 + 4 files changed, 47 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feat.yml create mode 100644 .github/pull_request_template.md diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000..7f9da87 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,24 @@ +name: Bug Report +description: File a bug report +title: '[Bug]: ' +labels: [bug, help wanted] +assignees: goaaats +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you noticed. + options: + - label: I have searched the existing issues + required: true + - type: textarea + attributes: + label: What happened? + description: Also tell us, what did you expect to happen? + placeholder: Tell us what you see! + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..8776850 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Review open issues + url: https://github.com/goaaats/KeySharp/issues + about: Please ensure you have gone through open issues. diff --git a/.github/ISSUE_TEMPLATE/feat.yml b/.github/ISSUE_TEMPLATE/feat.yml new file mode 100644 index 0000000..290d81e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feat.yml @@ -0,0 +1,17 @@ +name: Feature Request +description: Request a new feature +title: '[Feature/Idea]: ' +labels: [enhancement] +assignees: goaaats +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to request a new feature! + - type: textarea + attributes: + label: What would you like to see changed/added? + description: Try to give some examples to make it really clear! + placeholder: Tell us what you would like to see! Something new and amazing! + validations: + required: true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..d09aba3 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1 @@ +### Changes & Notes From 57c8ab1114ac705538735e93839d07152584c44a Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:39:25 +0530 Subject: [PATCH 07/15] Add CODEOWNERS --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..48f372b --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @goaaats From 8eb62265e0f4b51e1d1da587214cd039bcfbd038 Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:47:10 +0530 Subject: [PATCH 08/15] Add dependabot --- .github/dependabot.yml | 24 ++++++++++++++++++++++++ native/lib/keychain | 2 +- native/libskeychain.dylib | Bin 0 -> 63472 bytes 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 .github/dependabot.yml create mode 100755 native/libskeychain.dylib diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..e4f0051 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,24 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: gitsubmodule + directory: / + schedule: + interval: daily + reviewers: [goaaats] + rebase-strategy: auto + target-branch: master + + - package-ecosystem: github-actions + # Workflow files stored in the + # default location of `.github/workflows` + directory: / + schedule: + interval: daily + reviewers: [goaaats] + rebase-strategy: auto + target-branch: master diff --git a/native/lib/keychain b/native/lib/keychain index c856836..82acee8 160000 --- a/native/lib/keychain +++ b/native/lib/keychain @@ -1 +1 @@ -Subproject commit c8568362139348597e570197ee60701aea85198b +Subproject commit 82acee89623d0d84e1575147fb83ed387646bce8 diff --git a/native/libskeychain.dylib b/native/libskeychain.dylib new file mode 100755 index 0000000000000000000000000000000000000000..b422b0ac36148ee8f73422148f9159b97c3999f5 GIT binary patch literal 63472 zcmeHw37lM2mG`UebkYGr7n>j|7RbIiFGhGc3(L#nMa*;&6Ti0|B+ZMkwX3K!uL`?ct2 zGTG44+1}W)R&#^+qRlp=Me|+QMHa-JOm?;0*4VN-+1RqC6@`NMdKKS|T9I%Nhl`s} zj_Y>Z$>hTME9NH`Tz}niJG$<8hFJ<%0A}}jlb0+4zO{OWbwqr7UFHLyvJkbc%$+CS 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 F{{^2qi-Q0F literal 0 HcmV?d00001 From 9e8e510859812b16e89fad2aff5ecb66b26a7e65 Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Thu, 28 Nov 2024 23:11:52 +0530 Subject: [PATCH 09/15] Add CI to update compiled libraries --- .../workflows/update-compiled-libraries.yml | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/update-compiled-libraries.yml diff --git a/.github/workflows/update-compiled-libraries.yml b/.github/workflows/update-compiled-libraries.yml new file mode 100644 index 0000000..d1a6923 --- /dev/null +++ b/.github/workflows/update-compiled-libraries.yml @@ -0,0 +1,29 @@ +name: Update compiled libraries +on: + push: + branches: + - master + paths: + - native/ + workflow_dispatch: +jobs: + build: + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + fail-fast: true + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4.1.0 + - run: cmake --build native + - if: matrix.os == 'windows-latest' + run: cp native/skeychain.dll KeySharp/runtimes/win-x64/native/skeychain.dll + - if: matrix.os == 'macos-latest' + run: cp native/libskeychain.dylib KeySharp/runtimes/osx-arm64/native/libskeychain.dylib + - if: matrix.os == 'ubuntu-latest' + run: cp native/libskeychain.so KeySharp/runtimes/linux-x64/native/libskeychain.so + - run: git add KeySharp/runtimes + - run: git config --global user.name "github-actions[bot]" + - run: git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + - run: git commit -m "Update compiled libraries" + - run: git push From b4a348cbc3a96b3d60d370bea98f69d28e7812ea Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Thu, 28 Nov 2024 23:16:16 +0530 Subject: [PATCH 10/15] Optimize CI --- .../workflows/update-compiled-libraries.yml | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/update-compiled-libraries.yml b/.github/workflows/update-compiled-libraries.yml index d1a6923..eac8efb 100644 --- a/.github/workflows/update-compiled-libraries.yml +++ b/.github/workflows/update-compiled-libraries.yml @@ -10,20 +10,24 @@ jobs: build: strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + include: + - os: windows-latest + runtime: win-x64 + lib: skeychain.dll + - os: macos-latest + runtime: osx-arm64 + lib: libskeychain.dylib + - os: ubuntu-latest + runtime: linux-x64 + lib: libskeychain.so fail-fast: true runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4.1.0 - run: cmake --build native - - if: matrix.os == 'windows-latest' - run: cp native/skeychain.dll KeySharp/runtimes/win-x64/native/skeychain.dll - - if: matrix.os == 'macos-latest' - run: cp native/libskeychain.dylib KeySharp/runtimes/osx-arm64/native/libskeychain.dylib - - if: matrix.os == 'ubuntu-latest' - run: cp native/libskeychain.so KeySharp/runtimes/linux-x64/native/libskeychain.so + - run: cp native/${{ matrix.lib }} KeySharp/runtimes/${{ matrix.runtime }}/native/${{ matrix.lib }} - run: git add KeySharp/runtimes - run: git config --global user.name "github-actions[bot]" - run: git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - - run: git commit -m "Update compiled libraries" + - run: git commit -m "[${{ matrix.runtime }}] Update ${{ matrix.lib }}" - run: git push From 94e391fc3b2b224756da60557882a83de1470ed3 Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Fri, 29 Nov 2024 00:20:14 +0530 Subject: [PATCH 11/15] Revert "Update osx-x64 dylib" --- .../osx-x64/native/libskeychain.dylib | Bin 63472 -> 182760 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/KeySharp/runtimes/osx-x64/native/libskeychain.dylib b/KeySharp/runtimes/osx-x64/native/libskeychain.dylib index b422b0ac36148ee8f73422148f9159b97c3999f5..bd411dde728e1f4e9a1cec603a4d4d428309f62b 100644 GIT binary patch literal 182760 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 literal 63472 zcmeHw37lM2mG`UebkYGr7n>j|7RbIiFGhGc3(L#nMa*;&6Ti0|B+ZMkwX3K!uL`?ct2 zGTG44+1}W)R&#^+qRlp=Me|+QMHa-JOm?;0*4VN-+1RqC6@`NMdKKS|T9I%Nhl`s} zj_Y>Z$>hTME9NH`Tz}niJG$<8hFJ<%0A}}jlb0+4zO{OWbwqr7UFHLyvJkbc%$+CS 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 F{{^2qi-Q0F From d7f86455d92debca3c46a1ee6f1efe498641c6ef Mon Sep 17 00:00:00 2001 From: Vedant Mohan Goyal <83997633+vedantmgoyal9@users.noreply.github.com> Date: Fri, 29 Nov 2024 00:21:38 +0530 Subject: [PATCH 12/15] Delete native/libskeychain.dylib --- native/libskeychain.dylib | Bin 63472 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 native/libskeychain.dylib diff --git a/native/libskeychain.dylib b/native/libskeychain.dylib deleted file mode 100755 index b422b0ac36148ee8f73422148f9159b97c3999f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63472 zcmeHw37lM2mG`UebkYGr7n>j|7RbIiFGhGc3(L#nMa*;&6Ti0|B+ZMkwX3K!uL`?ct2 zGTG44+1}W)R&#^+qRlp=Me|+QMHa-JOm?;0*4VN-+1RqC6@`NMdKKS|T9I%Nhl`s} zj_Y>Z$>hTME9NH`Tz}niJG$<8hFJ<%0A}}jlb0+4zO{OWbwqr7UFHLyvJkbc%$+CS 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 F{{^2qi-Q0F From 559db54c5a842022cb24ad86a7acf36b27c53265 Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal9@users.noreply.github.com> Date: Fri, 29 Nov 2024 00:29:16 +0530 Subject: [PATCH 13/15] Revert submodule --- native/lib/keychain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/native/lib/keychain b/native/lib/keychain index 82acee8..c856836 160000 --- a/native/lib/keychain +++ b/native/lib/keychain @@ -1 +1 @@ -Subproject commit 82acee89623d0d84e1575147fb83ed387646bce8 +Subproject commit c8568362139348597e570197ee60701aea85198b From 242d54073fb0d181e95bc59fd567253d00e34152 Mon Sep 17 00:00:00 2001 From: Vedant Mohan Goyal <83997633+vedantmgoyal9@users.noreply.github.com> Date: Fri, 29 Nov 2024 01:05:44 +0530 Subject: [PATCH 14/15] Update CMakeLists.txt --- native/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/native/CMakeLists.txt b/native/CMakeLists.txt index 1aecb1e..fb5423b 100644 --- a/native/CMakeLists.txt +++ b/native/CMakeLists.txt @@ -1,7 +1,9 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.12.4) cmake_policy(SET CMP0054 NEW) +set (CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "macOS Build architectures" FORCE) + set (PROJECT_VERSION "1.0") # Set the variable PROJ_NAME to whatever your library's name is, PROJECT_VERSION should be a version string like "0.1" @@ -48,4 +50,4 @@ message(${CMAKE_CXX_COMPILER_ID}) add_subdirectory(./lib/keychain/) # And now, we tell CMake that libdependency should be linked to our library -target_link_libraries(skeychain PRIVATE keychain) \ No newline at end of file +target_link_libraries(skeychain PRIVATE keychain) From ebf21b20ca236cc8e3e72dbc082bccf462375513 Mon Sep 17 00:00:00 2001 From: Vedant Mohan Goyal <83997633+vedantmgoyal9@users.noreply.github.com> Date: Fri, 29 Nov 2024 01:17:16 +0530 Subject: [PATCH 15/15] Fix CI --- .../workflows/update-compiled-libraries.yml | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/update-compiled-libraries.yml b/.github/workflows/update-compiled-libraries.yml index eac8efb..b8e9f0e 100644 --- a/.github/workflows/update-compiled-libraries.yml +++ b/.github/workflows/update-compiled-libraries.yml @@ -4,30 +4,39 @@ on: branches: - master paths: - - native/ + - .github/workflows/update-compiled-libraries.yml + - native/**/* workflow_dispatch: jobs: build: strategy: matrix: include: - - os: windows-latest - runtime: win-x64 - lib: skeychain.dll - os: macos-latest runtime: osx-arm64 lib: libskeychain.dylib - - os: ubuntu-latest + - os: ubuntu-latest runtime: linux-x64 lib: libskeychain.so + - os: windows-latest + runtime: win-x64 + lib: skeychain.dll + max-parallel: 1 # to avoid conflicts during git push fail-fast: true runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4.1.0 + with: + ref: master + submodules: true + - run: cmake -DCMAKE_BUILD_TYPE=Release -S native -B native - run: cmake --build native - - run: cp native/${{ matrix.lib }} KeySharp/runtimes/${{ matrix.runtime }}/native/${{ matrix.lib }} + # On windows, MSBuild puts dll under "debug" folder + - run: cp native/${{ matrix.os == 'windows-latest' && 'debug/skeychain.dll' || matrix.lib }} KeySharp/runtimes/${{ matrix.runtime }}/native/${{ matrix.lib }} + - if: matrix.os == 'macos-latest' + run: cp native/${{ matrix.lib }} KeySharp/runtimes/osx-x64/native/${{ matrix.lib }} - run: git add KeySharp/runtimes - run: git config --global user.name "github-actions[bot]" - run: git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - - run: git commit -m "[${{ matrix.runtime }}] Update ${{ matrix.lib }}" + - run: git commit -m "[${{ matrix.runtime == 'osx-arm64' && 'osx-arm64/osx-x64' || matrix.runtime }}] Update ${{ matrix.lib }}" - run: git push