Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add share command #2932

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open

Add share command #2932

wants to merge 10 commits into from

Conversation

gabrieldonadel
Copy link
Member

@gabrieldonadel gabrieldonadel commented Mar 6, 2025

Related PRs

Why

Closes ENG-15215

How

Introduce share command allowing users to upload local builds

Adds node-stream-zip as dependency to allow us to list files inside App files without extracting the whole app

Test Plan

Setup

create build your app locally using Xcode or Android Studio

Actions

Test Reproduction (Screenshots/Videos/Terminal Output)

image

Copy link

linear bot commented Mar 6, 2025

Copy link

linear bot commented Mar 12, 2025

Copy link

❌ It looks like a changelog entry is missing for this PR. Add it manually to CHANGELOG.md.
⏩ If this PR doesn't require a changelog entry, such as if it's an internal change that doesn't affect the user experience, you can add the "no changelog" label to the PR.

Copy link

github-actions bot commented Mar 12, 2025

Size Change: +11.8 kB (+0.02%)

Total Size: 53.5 MB

Filename Size Change
./packages/eas-cli/dist/eas-linux-x64.tar.gz 53.5 MB +11.8 kB (+0.02%)

compressed-size-action

Copy link

codecov bot commented Mar 12, 2025

Codecov Report

Attention: Patch coverage is 28.18792% with 107 lines in your changes missing coverage. Please review.

Project coverage is 52.43%. Comparing base (1b713af) to head (e4d4c36).
Report is 37 commits behind head on main.

Files with missing lines Patch % Lines
packages/eas-cli/src/commands/share.ts 17.89% 101 Missing ⚠️
...as-cli/src/graphql/mutations/LocalBuildMutation.ts 62.50% 3 Missing ⚠️
packages/eas-cli/src/uploads.ts 0.00% 2 Missing ⚠️
...cli/src/graphql/mutations/UploadSessionMutation.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2932      +/-   ##
==========================================
- Coverage   52.64%   52.43%   -0.20%     
==========================================
  Files         588      592       +4     
  Lines       23203    23475     +272     
  Branches     4860     4678     -182     
==========================================
+ Hits        12212    12307      +95     
- Misses      10022    11134    +1112     
+ Partials      969       34     -935     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gabrieldonadel gabrieldonadel marked this pull request as ready for review March 17, 2025 23:02
Copy link

Subscribed to pull request

File Patterns Mentions
**/* @szdziedzic, @khamilowicz, @sjchmiela, @radoslawkrzemien

Generated by CodeMention

@gabrieldonadel gabrieldonadel marked this pull request as draft March 17, 2025 23:02
@gabrieldonadel gabrieldonadel marked this pull request as ready for review March 28, 2025 18:03
import { createProgressTracker } from '../utils/progress';

export default class BuildUpload extends EasCommand {
static override description = 'upload a local build and generate a sharable link';
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
static override description = 'upload a local build and generate a sharable link';
static override description = 'upload a local build and generate a sharable link';
static override hidden = true;

We can mark it as hidden for now so it is not mentioned in help or docs if we want to beta test it first internally before full public release. The command will work; it just won't be mentioned anywhere.

Copy link
Member

Choose a reason for hiding this comment

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

Should it be eas share or eas build:share? I believe it only works for builds, right? So maybe we should move it from commands/share.ts to commands/build/share.ts?

{ title: buildFingerprintHash, value: buildFingerprintHash },
],
});
fingerprint = String(selectedAnswer.fingerprint);
Copy link
Member

Choose a reason for hiding this comment

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

why is it needed?

Comment on lines +129 to +130
? 'android/app/build/outputs/**/*.{apk,aab}'
: 'ios/build/Build/Products/*simulator/*.app');
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure if these are compatible with the default artifact path of eas build --local. It would create a build and move it to projectDir/somename.extenstion and not projectDir/ios|android/.... Are these paths the result path as of npx expo:run build?

): Promise<AppMetadata> {
let developmentClient = false;
let fingerprintHash: string | undefined;
const simulator = platform === Platform.IOS;
Copy link
Member

Choose a reason for hiding this comment

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

is it even a valid use case to share .ipa builds? I'm just curious

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants