Support use of output from synth step as input in later ShellSteps
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 42/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- aws, github-actions, typescript
- 領域
- ci-cd
調査の方向性
src/pipeline.ts の参照された行付近にあるアーティファクトのダウンロードロジックから始め、@aws-cdk/pipelines/lib/blueprint/shell-step.ts にある出力 FileSet の命名と比較します。提示された ShellStep の例から workflow を生成し、後続のステップで使用されるアーティファクト名が synth ステップによってアップロードされたアーティファクトと一致することを確認します。
索引モデルが issue の本文から書いたものです。
説明
I would expect this code to work:
const pipeline = new GitHubWorkflow(app, 'Pipeline', {
workflowPath: `${dir}/.github/workflows/deploy.yml`,
synth: new ShellStep('Build', {
installCommands: ['yarn'],
commands: ['yarn build'],
}),
jobSettings: { if: 'check on Synthesize and Publish Assets' },
});
const stage = new Stage(app, 'MyStage', {
env: { account: '111111111111', region: 'us-east-1' },
});
new Stack(stage, 'MyStack');
pipeline.addStageWithGitHubOptions(stage, {
pre: [
new ShellStep('Extra-Shell-Step', {
additionalInputs: {
'cdk.out': pipeline.cloudAssemblyFileSet,
},
commands: ['ls -al cdk.out'],
}),
],
});
The resulting yaml file doesn't work, since the uploaded artifact is named "cdk.out" but the id used as the name from the pipeline.cloudAssemblyFileSet is `"Output":
Build-Build:
name: Synthesize
if: check on Synthesize and Publish Assets
permissions:
contents: read
id-token: none
runs-on: ubuntu-latest
needs: []
env: {}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install
run: yarn
- name: Build
run: yarn build
- name: Upload cdk.out
uses: actions/[email protected]
with:
name: cdk.out # ← here ⚠️
path: cdk.out
And later:
MyStage-Extra-Shell-Step:
name: Extra-Shell-Step
if: check on Synthesize and Publish Assets
permissions:
contents: read
runs-on: ubuntu-latest
needs:
- Build-Build
env: {}
steps:
- uses: actions/download-artifact@v2
with:
name: Output # ← here ⚠️
path: cdk.out
- run: ls -al cdk.out
The name Output is coming from @aws-cdk/pipelines/lib/blueprint/shell-step.ts:
if (props.primaryOutputDirectory) {
this._primaryOutputDirectory = props.primaryOutputDirectory;
const fileSet = new FileSet('Output', this); // ← here ⚠️
this.configurePrimaryOutput(fileSet);
this.outputs.push({ directory: props.primaryOutputDirectory, fileSet });
}
Perhaps I'm wrong, but it appears that by using this.cloudAssemblyFileSet.id instead of CDKOUT_ARTIFACT here and here this would work as expected.
- 主要言語
- TypeScript
- スター
- 385
- フォーク
- 45
- 平均マージ
- 1日 52分
- マージ済み PR(30日)
- 4
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cdklabs/cdk-pipelines-github のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 76/100
cdklabs/cdk-pipelines-github#1466 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
cdklabs/cdk-pipelines-github#1460 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
cdklabs/cdk-pipelines-github#1456 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 55/100
cdklabs/cdk-pipelines-github#1443 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
cdklabs/cdk-pipelines-github#1421 · コメント 1 件 · リアクション 1 件 ·
cdklabs/cdk-pipelines-github の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
umami-software/umami#4637 ·
メンテナーはふだん 3 日以内に返信
-
Hotkeys fire when pressed with the Ctrl key, so browser shortcuts also trigger player actions対応中かも @RaphaelFakhri が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
muxinc/media-chrome#1332 ·
メンテナーはふだん 5 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
polarsource/polar#15580 ·
メンテナーはふだん 1 日以内に返信
-
accepted bug via-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 69/100
pingdotgg/t3code#20931 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug/1-unconfirmed kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信