You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/docs/DEFAULT_GITHUB_FLOW.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ sidebar_position: 3
3
3
title: Default GitHub Workflow
4
4
---
5
5
6
-
# Default GitHub Flow
6
+
# Default GitHub Workflow
7
7
8
8
If you are hosting your repos in GitHub and can use GitHub Actions for CI, the Default GitHub Flow is the simplest way to start publishing Kotlin builds for iOS.
9
9
@@ -100,6 +100,8 @@ Note: this config is only for SPM publishing. To understand how to integrate an
100
100
101
101
`cocoapods("[some git repo].git")` is only needed if you plan to publish for CocoaPods. You will need the spec repo mentioned above, properly configured for deployment. See [COCOAPODS_GITHUB_PODSPEC](cocoapods/03_COCOAPODS_GITHUB_PODSPEC.md) for details on getting the podspec repo configured.
102
102
103
+
> Be sure to save the deploy key created for later use.
104
+
103
105
`versionPrefix` is optional. By default, KMMBridge takes the version from Gradle and uses that as a prefix to generate the iOS published versions. Versioning strategy differs depending on how you intend to work and publish. See [Version Managers](general/CONFIGURATION_OVERVIEW#version-managers) for more detail.
104
106
105
107
@@ -132,7 +134,7 @@ jobs:
132
134
PODSPEC_SSH_KEY: ${{ secrets.PODSPEC_SSH_KEY }}
133
135
```
134
136
135
-
You need to pass the ssh key configured earlier.
137
+
You need to pass the ssh key configured earlier. See [Create Deploy Keys](cocoapods/COCOAPODS_GITHUB_PODSPEC/#create-deploy-keys)
136
138
137
139
There are actually 2 versions of the workflow script. The other file, `faktorybuild.yml`, performs all operations in the same branch it's run on. `faktorybuildbranches.yml` creates a temporary branch to run builds. This is generally better, as the build process involves git operations which can overwrite files and possibly cause conflicts.
138
140
@@ -152,11 +154,7 @@ When that run is complete, you should see a green result. If not, please reach o
152
154
153
155
## iOS Dev Machine Config
154
156
155
-
If you're using the github packages for artifact hosting via `addGithubPackagesRepository()`, accessing the artifacts requires authentication even for public repos. You'll need to tell the local machine how to access the private file. You can do this either by editing the `~/.netrc` file, or by adding the info to your local keychain.
156
-
157
-
:::note
158
-
These steps are needed for any private artifact hosting, but won't be necessary if your artifacts are hosted somewhere publicly accessible.
159
-
:::
157
+
If you're using the github packages for artifact hosting via `addGithubPackagesRepository()`, accessing the artifacts requires authentication. You can do this either by editing the `~/.netrc` file, or by adding the info to your local keychain.
160
158
161
159
First, get a personal access token from GitHub. Make sure it has at least `repo` and `write:packages` permissions. You can add an expiration, but if you do, you'll need to remember to create a new one later...
Copy file name to clipboardExpand all lines: website/docs/IOS_DEV_SETUP.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ For developers editing Kotlin, you will want to test locally-built Kotlin code d
11
11
12
12
## Private Artifacts
13
13
14
-
If you are hosting artifacts somewhere private, you'll need to add auth info for that to work. See [the section here](DEFAULT_GITHUB_FLOW.md#private-repos).
14
+
If you are hosting artifacts somewhere private, you'll need to add auth info for that to work. See [the section here](DEFAULT_GITHUB_FLOW.md#ios-dev-machine-config).
15
15
16
16
*You must do this before attempting to integrate dependency managers!!!*
Copy file name to clipboardExpand all lines: website/docs/artifacts/MAVEN_REPO_ARTIFACTS.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ Each repo type has it's own unique setup, but essentially we need:
20
20
2. A username that can publish to the repo
21
21
3. A password/token for that user
22
22
23
-
See specific guidance for Github Packages, JetBrains Space, and Artifactory.
23
+
See specific guidance for [Github Packages](#github-packages), [JetBrains Space](SPACE_ARTIFACTS.md), and [Artifactory](ARTIFACTORY_ARTIFACTS.md).
24
24
25
25
The standard Gradle publishing config looks like the following.
26
26
@@ -86,7 +86,7 @@ For different repos you'll need to change the machine to point at the server whe
86
86
87
87
The Maven publishing adds a special artifact to the "standard" Gradle publishing config, specically for KMMBridge. We're publishing the Xcode Framework XCFramework zip file as it's own Gradle/Maven artifact. If you run `./gradlew publish`, it'll attempt to publish KMMBridge along with any other configured publish targets.
88
88
89
-
If you do intend to publish everything, you'll likely want to disable the automatically incrementing verison support that KMMBridge provides, and use the standard Gradle publishing version management.
89
+
If you do intend to publish everything, you'll likely want to disable the automatically incrementing version support that KMMBridge provides, and use the standard Gradle publishing version management.
90
90
91
91
If you want to use the version from Gradle, use the following configuration:
Copy file name to clipboardExpand all lines: website/docs/cocoapods/01_IOS_COCOAPODS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ You'll need an Xcode project with CocoaPods set up. That means you'll have a `Po
4
4
5
5
## Artifact Authentication
6
6
7
-
For artifacts that are kept in private storage, you may need to add authentication information so your `~/.netrc` file or your Mac's Keychain Access. See [the section here](../DEFAULT_GITHUB_FLOW.md#private-repos) for a description of how to set up private file access.
7
+
For artifacts that are kept in private storage, you may need to add authentication information so your `~/.netrc` file or your Mac's Keychain Access. See [the section here](../DEFAULT_GITHUB_FLOW.md#ios-dev-machine-config) for a description of how to set up private file access.
This is the simplest to configure and currently the recommended best way to publish your binaries. If you are using GitHub, you can publish to Github Packages easily with our integration tools. For a complete introduction and overview of how to configure your project with this manager, see [Default GitHub Flow](../DEFAULT_GITHUB_FLOW.md).
33
+
This is the simplest to configure and currently the recommended best way to publish your binaries. If you are using GitHub, you can publish to Github Packages easily with our integration tools. For a complete introduction and overview of how to configure your project with this manager, see [Default GitHub WorkFlow](../DEFAULT_GITHUB_FLOW.md).
34
34
35
35
### [S3 Public Artifacts](../artifacts/S3_PUBLIC_ARTIFACTS.md)
If you are using GitHub for source control, and are OK with using GitHub Actions to build and GitHub releases for published artifacts, we have a simple setup flow you can use. It is the easiest default to start from.
26
26
27
-
See [DEFAULT_GITHUB_FLOW](DEFAULT_GITHUB_FLOW.md) for setup instructions.
27
+
See [DEFAULT_GITHUB_WORKFLOW](DEFAULT_GITHUB_FLOW.md) for setup instructions.
You can check out [build.gradle in this test](https://github.com/touchlab/KmmBridgeIntegrationTest-SPMWithoutCommit/blob/main/shared/build.gradle.kts) as an example.
110
-
111
109
## Artifact Authentication
112
110
113
-
For artifacts that are kept in private storage, you may need to add authentication information so your `~/.netrc` file or your Mac's Keychain Access. See [the section here](../DEFAULT_GITHUB_FLOW.md#private-repos) for a description of how to set up private file access.
111
+
For artifacts that are kept in private storage, you may need to add authentication information so your `~/.netrc` file or your Mac's Keychain Access. See [the section here](../DEFAULT_GITHUB_FLOW.md#ios-dev-machine-config) for a description of how to set up private file access.
0 commit comments