Skip to content

feat: add aws-signing-helper image #6

feat: add aws-signing-helper image

feat: add aws-signing-helper image #6

Workflow file for this run

---
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Release
on:
push:
branches: ["main"]
paths: ["apps/**"]
workflow_dispatch:
inputs:
app:
type: string
description: Application Name
required: true
release:
type: boolean
description: Release
required: false
default: false
jobs:
prepare:
name: Prepare
runs-on: ubuntu-latest
outputs:
changed-files: ${{ steps.changed-files.outputs.changed_files }}
steps:
- name: Get Changed Files
id: changed-files
uses: bjw-s-labs/action-changed-files@930cef8463348e168cab7235c47fe95a7a235f65 # v0.3.3
with:
path: apps
include_only_directories: true
max_depth: 1
changed:
if: ${{ needs.prepare.outputs.changed-files != '[]' || github.event_name == 'workflow_dispatch' }}
name: Get Changed Apps
needs: ["prepare"]
runs-on: ubuntu-latest
outputs:
apps: ${{ steps.apps.outputs.apps }}
steps:
- name: Get Apps
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
id: apps
env:
APPS: ${{ github.event_name == 'workflow_dispatch' && inputs.app || join(fromJSON(needs.prepare.outputs.changed-files), ' ') }}
with:
script: |
const { APPS } = process.env;
const appsToBuild = APPS.split(' ').filter(Boolean);
core.setOutput('apps', JSON.stringify(appsToBuild));
console.log('apps:', JSON.stringify(appsToBuild, null, 2));
core.summary.addHeading('Apps to build:').addList(appsToBuild).write();
build:
if: ${{ needs.changed.outputs.apps != '[]' }}
name: Build ${{ matrix.app }}
needs: ["changed"]
uses: ./.github/workflows/app-builder.yaml
permissions:
attestations: write
contents: write
id-token: write
packages: write
security-events: write
secrets: inherit
strategy:
matrix:
app: ${{ fromJSON(needs.changed.outputs.apps) }}
fail-fast: false
max-parallel: 4
with:
app: ${{ matrix.app }}
release: ${{ github.event_name == 'workflow_dispatch' && inputs.release || github.event_name == 'push' }}
status:
if: ${{ !cancelled() }}
name: Build Success
needs: ["build"]
runs-on: ubuntu-latest
steps:
- name: Any jobs failed?
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1
- name: All jobs passed or skipped?
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: echo "All jobs passed or skipped" && echo "${{ toJSON(needs.*.result) }}"