Skip to content

Tweak github action used to detect changed paths on push/pull request #16

Tweak github action used to detect changed paths on push/pull request

Tweak github action used to detect changed paths on push/pull request #16

Workflow file for this run

---

Check failure on line 1 in .github/workflows/main.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/main.yml

Invalid workflow file

No steps defined in `steps` and no workflow called in `uses` for the following jobs: debug
name: Test on push and pull request
permissions:
actions: write
contents: read
packages: write
# To report GitHub Actions status checks
statuses: write
id-token: write
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
uses: ./.github/workflows/lint.yml
files_changed:
name: Determine files changed
needs: lint
runs-on: ubuntu-latest
# Map a step output to a job output, this allows other jobs to be gated on the filter results
outputs:
extra_on_push: ${{ steps.filter_some.outputs.extra_on_push }}
extra_on_pull_request: ${{ steps.filter_some.outputs.extra_on_pull_request }}
stackhpc: ${{ toJson(fromJson(steps.filter_some.outputs.stackhpc) || fromJson(steps.filter_every.outputs.stackhpc)) }}
stackhpc_some: ${{ steps.filter_some.outputs.stackhpc }}
stackhpc_every: ${{ steps.filter_every.outputs.stackhpc }}
trivvyscan: ${{ steps.filter_some.outputs.trivvyscan }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Paths matching on any filter
# For safety using commit of dorny/paths-filter@v3
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
id: filter_some
with:
predicate-quantifier: 'some'
list-files: 'json'
filters: |
extra_on_push:
- 'environments/.stackhpc/tofu/cluster_image.auto.tfvars.json'
- 'ansible/roles/doca/**'
- 'ansible/roles/cuda/**'
- 'ansible/roles/slurm_recompile/**' # runs on cuda group
- 'ansible/roles/lustre/**'
- '.github/workflows/extra.yml'
extra_on_pull_request:
- 'environments/.stackhpc/tofu/cluster_image.auto.tfvars.json'
- 'ansible/roles/doca/**'
- 'ansible/roles/cuda/**'
- 'ansible/roles/lustre/**'
- '.github/workflows/extra.yml'
stackhpc:
#- '**'
#- '!dev/**'
- 'dev/setup-env.sh'
#- '!docs/**'
#- '!README.md'
#- '!.gitignore'
#- '!.github/workflows/'
- '.github/workflows/stackhpc'
trivvyscan:
- 'environments/.stackhpc/tofu/cluster_image.auto.tfvars.json'
- name: Paths matching on every filter
# For safety using commit of dorny/paths-filter@v3
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
id: filter_every
with:
predicate-quantifier: 'every'
list-files: 'json'
filters: |
stackhpc:
- '**'
- '!dev/**'
- '!**.md'
- '!.gitignore'
- '!.github/workflows/'
- name: Paths matching
run: >
echo '{ "extra_on_push_files": ${{ steps.filter_some.outputs.extra_on_push_files }} }' | jq -r '.';
echo '{ "extra_on_pull_request_files": ${{ steps.filter_some.outputs.extra_on_pull_request_files }} }' | jq -r '.';
echo '{ "stackhpc_some_files": ${{ steps.filter_some.outputs.stackhpc_files }} }' | jq -r '.';
echo '{ "stackhpc_every_files": ${{ steps.filter_every.outputs.stackhpc_files }} }' | jq -r '.';
echo '{ "trivvyscan_files": ${{ steps.filter_some.outputs.trivvyscan_files }} }' | jq -r '.'
debug:
name: Debug paths matching
needs: files_changed
run: >
echo 'extra_on_push: ${{ needs.files_changed.outputs.extra_on_push }}';
echo 'extra_on_pull_request: ${{ needs.files_changed.outputs.extra_on_pull_request }}';
echo 'stackhpc: ${{ needs.files_changed.outputs.stackhpc }}';
echo 'stackhpc_some: ${{ needs.files_changed.outputs.stackhpc_some }}';
echo 'stackhpc_every: ${{ needs.files_changed.outputs.stackhpc_every }}';
echo 'trivvyscan: ${{ needs.files_changed.outputs.trivvyscan }}'
runs-on: ubuntu-latest # TEST
extra:
name: Test extra build
needs: files_changed
if: |
github.event_name != 'pull_request' && needs.files_changed.outputs.extra_on_push == 'true' ||
github.event_name == 'pull_request' && needs.files_changed.outputs.extra_on_pull_request == 'true'
#uses: ./.github/workflows/extra.yml
steps: # TEST
- name: Test extra build...
uses: jakejarvis/wait-action@master
with:
time: '120s'
runs-on: ubuntu-latest # TEST
#secrets: inherit
stackhpc:
name: Test deployment and reimage on OpenStack
needs: files_changed
if: |
needs.files_changed.outputs.stackhpc_some == 'true' ||
needs.files_changed.outputs.stackhpc_every == 'true'
#uses: ./.github/workflows/stackhpc.yml
steps: # TEST
- name: Test deployment and reimage on OpenStack...
uses: jakejarvis/wait-action@master
with:
time: '120s'
runs-on: ubuntu-latest # TEST
#secrets: inherit
trivvyscan:
name: Trivy scan image for vulnerabilities
needs: files_changed
if: |
github.event_name == 'pull_request' &&
needs.files_changed.outputs.trivvyscan == 'true'
#uses: ./.github/workflows/trivvyscan.yml
steps: # TEST
- name: Trivy scan image for vulnerabilities...
uses: jakejarvis/wait-action@master
with:
time: '120s'
runs-on: ubuntu-latest # TEST
#secrets: inherit