-
Notifications
You must be signed in to change notification settings - Fork 17
Tackle script #202
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
base: main
Are you sure you want to change the base?
Tackle script #202
Changes from all commits
35d7d45
ef290ed
3449f3a
378ba24
fc9ce76
24b89af
a4b9fb1
57b9c05
1987ffa
fd9fba9
0f9f03c
6bc6237
d044ee6
518513c
edb5334
2fe73c4
9c35825
e349af1
6c1c0ee
c3f0e47
d9855a2
94bc13f
f544ad5
9a526d9
34808ca
8b0dad2
ad4a56a
82c1765
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,87 @@ | ||
| name: 'Setup Tackle' | ||
| description: 'Install and configure Tackle on a Kind cluster' | ||
| author: 'Konveyor' | ||
|
|
||
| inputs: | ||
| command: | ||
| description: 'Command to run (install, status, uninstall)' | ||
| required: true | ||
| default: 'install' | ||
|
|
||
| auth: | ||
| description: 'Enable Keycloak authentication' | ||
| required: false | ||
| default: 'false' | ||
|
|
||
| port: | ||
| description: 'Host port for HTTP ingress' | ||
| required: false | ||
| default: '8080' | ||
|
|
||
| tls-port: | ||
| description: 'Host port for HTTPS ingress' | ||
| required: false | ||
| default: '8443' | ||
|
|
||
| cluster-name: | ||
| description: 'Kind cluster name' | ||
| required: false | ||
| default: 'tackle-test' | ||
|
|
||
| # Image overrides | ||
| hub-image: | ||
| description: 'Hub image (HUB env var)' | ||
| required: false | ||
|
|
||
| analyzer-image: | ||
| description: 'Analyzer addon image (ANALYZER_ADDON env var)' | ||
| required: false | ||
|
|
||
| csharp-provider-image: | ||
| description: 'C# provider image (CSHARP_PROVIDER_IMG env var)' | ||
| required: false | ||
|
|
||
| generic-provider-image: | ||
| description: 'Generic provider image (GENERIC_PROVIDER_IMG env var)' | ||
| required: false | ||
|
|
||
| java-provider-image: | ||
| description: 'Java provider image (JAVA_PROVIDER_IMG env var)' | ||
| required: false | ||
|
|
||
| discovery-image: | ||
| description: 'Discovery addon image (DISCOVERY_ADDON env var)' | ||
| required: false | ||
|
|
||
| platform-image: | ||
| description: 'Platform addon image (PLATFORM_ADDON env var)' | ||
| required: false | ||
|
|
||
| runs: | ||
| using: 'composite' | ||
| steps: | ||
| - name: Make tackle.sh executable | ||
| shell: bash | ||
| run: chmod +x ${{ github.action_path }}/../../../scripts/tackle.sh | ||
|
|
||
| - name: Run tackle.sh ${{ inputs.command }} | ||
| shell: bash | ||
| env: | ||
| HUB: ${{ inputs.hub-image }} | ||
| ANALYZER_ADDON: ${{ inputs.analyzer-image }} | ||
| CSHARP_PROVIDER_IMG: ${{ inputs.csharp-provider-image }} | ||
| GENERIC_PROVIDER_IMG: ${{ inputs.generic-provider-image }} | ||
| JAVA_PROVIDER_IMG: ${{ inputs.java-provider-image }} | ||
| DISCOVERY_ADDON: ${{ inputs.discovery-image }} | ||
| PLATFORM_ADDON: ${{ inputs.platform-image }} | ||
| run: | | ||
| args="" | ||
|
|
||
| if [ "${{ inputs.command }}" = "install" ]; then | ||
| args="$args --auth=${{ inputs.auth }}" | ||
| args="$args --port=${{ inputs.port }}" | ||
| args="$args --tlsPort=${{ inputs.tls-port }}" | ||
| args="$args --cluster=${{ inputs.cluster-name }}" | ||
| fi | ||
|
|
||
| ${{ github.action_path }}/../../../scripts/tackle.sh ${{ inputs.command }} $args | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| name: Tackle Setup + Status + Teardown | ||
|
|
||
| on: | ||
| pull_request: | ||
| types: [opened, synchronize, reopened] | ||
| paths: | ||
| - 'scripts/tackle.sh' | ||
| - '.github/actions/setup-tackle/action.yaml' | ||
| - '.github/workflows/test-tackle.yaml' | ||
|
|
||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
|
|
||
| build-images: | ||
| uses: konveyor/ci/.github/workflows/e2e-image-build.yaml@main | ||
| with: | ||
| repo: ${{ github.repository }} | ||
| ref: main | ||
| secrets: inherit | ||
|
Comment on lines
+15
to
+20
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: No, GitHub Actions does not support secrets: inherit when a workflow in one repository owner or organization calls a reusable workflow from a different owner or organization. The secrets: inherit keyword is explicitly limited to calls within the same organization or enterprise. Official GitHub documentation states: "Workflows that call reusable workflows in the same organization or enterprise can use the inherit keyword to implicitly pass the secrets." Examples use the same organization prefix (e.g., octo-org/example-repo). For cross-organization calls, secrets must be passed explicitly by name in the secrets object, and the reusable workflow must declare them in on.workflow_call.secrets. Organization-level secrets from the reusable workflow's repository are not accessible; only the caller's secrets can be passed. As of 2026-03-20, no updates enable cross-org inheritance, per docs and discussions. Citations:
GitHub Actions only supports 🤖 Prompt for AI Agents |
||
|
|
||
| test-tackle: | ||
| needs: build-images | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 25 | ||
|
|
||
| strategy: | ||
| matrix: | ||
| auth: [false, true] | ||
| fail-fast: false | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Install Tackle (${{ matrix.auth && 'with auth' || 'without auth' }}) | ||
| uses: ./.github/actions/setup-tackle | ||
| with: | ||
| command: install | ||
| auth: ${{ matrix.auth }} | ||
|
|
||
| - name: Show Tackle status | ||
| uses: ./.github/actions/setup-tackle | ||
| with: | ||
| command: status | ||
|
|
||
| - name: Teardown Tackle | ||
| if: always() | ||
| uses: ./.github/actions/setup-tackle | ||
| with: | ||
| command: uninstall | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are missing I think a step around downloading and setting the images up. and example is:
https://github.com/konveyor/ci/blob/main/koncur-tackle-hub/check_images.sh
and
load_img.sh
Might be worth moving these out of that action and into this action, if the koncur-tackle actions is going to use this action.
I use them here: to get the images into the kind cluster: https://github.com/konveyor/ci/blob/main/koncur-tackle-hub/action.yml#L66-L71
Hope that helps