Skip to content
Merged
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
4 changes: 1 addition & 3 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
# Repository CODEOWNERS

* appcircleio
* @BrkYld
46 changes: 25 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
## Appcircle Testing Distribution

Appcircle simplifies the distribution of builds to test teams with an extensive
platform for managing and tracking applications, versions, testers, and teams.
Appcircle integrates with enterprise authentication mechanisms such as LDAP and
SSO, ensuring secure distribution of testing packages. Learn more about
Appcircle testing distribution. Learn more about
Appcircle Testing Distribution enables the binary distribution of Android (.apk,
.aab) and iOS (.ipa) files, allowing teams to create test groups and share builds
using enterprise authentication methods such as SSO and LDAP. Learn more about
[Appcircle testing distribution](https://appcircle.io/testing-distribution?utm_source=github&utm_medium=plugin&utm_campaign=testing_distribution)

Appcircle's test distribution extension enables developers to create test groups
Appcircle's Testing Distribution action enables developers to create test groups
and share builds with them, utilizing enterprise-grade authentication methods.
With the GitHub actions marketplace, this module will be accessible directly
from the actions.
With the GitHub Marketplace, this module is accessible directly from your
workflows.

## Exploring Testing Distribution

Testing distribution is the process of distributing test builds to designated
test groups or individuals. This process allows developers to gather quick
feedback, identify bugs, and ensure the quality of software applications before
releasing them to customers. Appcircle's test distribution module enables
releasing them to customers. Appcircle's Testing Distribution module enables
developers to create test groups and share builds with them, utilizing
enterprise-grade authentication methods.

## Benefits of Using Testing Distribution

1. **Simplified Binary Distribution**.
- **Skip Traditional Stores:** Share .xcarchive .IPA, APK, AAB, Zip, files
1. **Simplified Binary Distribution:**
- **Skip Traditional Stores:** Share .apk, .aab (Android) and .ipa (iOS) files
directly, avoiding the need to use App Store TestFlight or Google Play
Internal Testing.
2. **Streamlined Workflow:**
Expand Down Expand Up @@ -66,6 +64,9 @@ enterprise-grade authentication methods.
- **Customer Satisfaction:** By delivering higher quality software, customer
satisfaction and trust in the product increase.

9. **Re-Sign and Auto-Resign:**
- **Update Without Rebuilding:** Re-sign iOS and Android binaries with updated signing identities, manually or automatically, and keep distributing without a new build.

Overall, using testing distribution in mobile DevOps significantly enhances the
efficiency, security, and effectiveness of the software development process,
leading to better products and faster delivery times.
Expand All @@ -92,24 +93,24 @@ and assign testing groups to the distribution profiles.

To generate a Personal API Token, follow these steps:

1. Go to the My Organization screen (the second option at the bottom left).
2. You'll find the Personal API Token section in the top right corner.
3. Press the "Generate Token" button to generate your first token.
1. Open the **My Organization** screen from your profile avatar at the bottom left.
2. Go to the **Security** section and find the **Personal Access Key** card.
3. Press **Generate Key** to generate your token.

![Token Generation](images/PAT.png)

## Getting Started with the Action: Usage Guide
## How to use Appcircle Testing Distribution Action

To share your builds with testers, you can create distribution profiles and
assign testing groups to these profiles. Add a step to your pipeline for 'Test
Local Action' with the appropriate information.
assign testing groups to these profiles. Add the Appcircle Testing Distribution
step to your workflow with the appropriate inputs.

```yaml
- name: Publish App to Appcircle
id: testing-distribution-appcircle
uses: appcircleio/appcircle-testing-distribution-githubaction
with:
personalAPIToken: ${{ secrets.AC_PROFLE_API_TOKEN }}
personalAPIToken: ${{ secrets.AC_PROFILE_API_TOKEN }}
profileName: ${{ secrets.AC_PROFILE_NAME }}
createProfileIfNotExists: ${{ secrets.CREATE_PROFILE_IF_NOT_EXISTS }}
appPath: ${{ secrets.APP_PATH }}
Expand Down Expand Up @@ -140,7 +141,7 @@ change.
- name: Publish App to Appcircle
uses: appcircleio/appcircle-testing-distribution-githubaction
with:
personalAPIToken: ${{ secrets.AC_PROFLE_API_TOKEN }}
personalAPIToken: ${{ secrets.AC_PROFILE_API_TOKEN }}
profileName: ${{ secrets.AC_PROFILE_NAME }}
createProfileIfNotExists: ${{ secrets.CREATE_PROFILE_IF_NOT_EXISTS }}
appPath: ${{ secrets.APP_PATH }}
Expand All @@ -157,14 +158,14 @@ change.
> **Self-signed or private CA certificates:** If your self-hosted Appcircle server
> uses a self-signed certificate (or one issued by a private/internal CA), requests
> will fail certificate validation. The action does not disable TLS verification.
> Trust the server's CA on the runner set the `NODE_EXTRA_CA_CERTS` environment
> Trust the server's CA on the runner: set the `NODE_EXTRA_CA_CERTS` environment
> variable to a PEM file containing the CA certificate, or add the CA to the system
> certificate store.

### Leveraging Environment Variables

Utilize environment variables seamlessly by substituting the parameters with
`${{ envs.VARIABLE_NAME }}` in your task inputs. The extension automatically
`${{ envs.VARIABLE_NAME }}` in your workflow inputs. The action automatically
Comment on lines 165 to +168

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use the env context, not envs.

${{ envs.VARIABLE_NAME }} is not a valid GitHub Actions context, so copied workflows will not resolve these values. Use ${{ env.VARIABLE_NAME }} instead. GitHub documents environment variables through the env context. (docs.github.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 165 - 168, Update the “Leveraging Environment
Variables” documentation to use the valid GitHub Actions env context, replacing
`${{ envs.VARIABLE_NAME }}` with `${{ env.VARIABLE_NAME }}` in the workflow
input example and surrounding explanation.

retrieves values from the specified environment variables within your pipeline.

**Ensure that this action is added after build steps have been completed.**
Expand All @@ -188,3 +189,6 @@ need support or more information, please
- To create or learn more about Appcircle testing and distribution profiles,
please refer to
[Creating or Selecting a Distribution Profile](https://docs.appcircle.io/distribute/create-or-select-a-distribution-profile?utm_source=github&utm_medium=plugin&utm_campaign=testing_distribution)

- For the full action setup guide, see the
[Appcircle Testing Distribution documentation](https://docs.appcircle.io/marketplace/github-marketplace/testing-distribution?utm_source=github&utm_medium=plugin&utm_campaign=testing_distribution)
7 changes: 4 additions & 3 deletions action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: 'Appcircle Testing Distribution'
author: 'appcircleio'
description:
"Efficiently distribute application builds to users or testing groups using
Appcircle's robust platform."
"Appcircle Testing Distribution enables the binary distribution of Android
(.apk, .aab) and iOS (.ipa) files, allowing teams to create test groups and
share builds using enterprise authentication methods such as SSO and LDAP."

branding:
icon: 'activity'
Expand Down Expand Up @@ -49,5 +50,5 @@ inputs:
information to testers or users receiving the build'
required: true
runs:
using: 'node20'
using: 'node24'
main: 'dist/index.js'
Loading
Loading