Skip to content

Update PR number

Update PR number #6

Workflow file for this run

name: Component Testing
on:
workflow_call:
pull_request:
push:
jobs:
run_ci_check_job:
runs-on: ubuntu-latest
outputs:
run_ci: ${{ steps.github_cli.outputs.check }}
steps:
- name: 'Check if branch has an existing pull request and the trigger was a push'
id: github_cli
run: |
pull_request=$(gh pr list -R ${{ github.repository }} -H ${{ github.ref_name }} --json url --state open --limit 1 | jq '.[0].url')
# If the branch has a PR and this run was triggered by a push event, do not run
if [[ "$pull_request" != "null" && "$GITHUB_REF_NAME" != "main" && "${{ github.event_name == 'push' }}" == "true" && "${{ !contains(github.event.head_commit.message, 'ci force') }}" == "true" ]]; then
echo "check=false" >> $GITHUB_OUTPUT
else
echo "check=true" >> $GITHUB_OUTPUT
fi
env:
GH_TOKEN: ${{ github.token }}
# phase 1
list:
needs: run_ci_check_job
runs-on: ubuntu-latest
if: ${{ needs.run_ci_check_job.outputs.run_ci == 'true' }}
outputs:
matrix: ${{ steps.ns_list_filtered.outputs.output_matrix }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: viash-io/viash-actions/setup@v5
- name: Check if all config can be parsed if there is no unicode support
run: |
LANG=C viash ns list > /dev/null
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v44
with:
separator: ";"
diff_relative: true
- id: ns_list
uses: viash-io/viash-actions/[email protected]
with:
engine: docker
runner: executable
format: json
- id: ns_list_filtered
uses: viash-io/viash-actions/project/[email protected]
with:
input_file: "${{ steps.ns_list.outputs.output_file }}"
# phase 2
viash_test:
needs: list
if: ${{ needs.list.outputs.matrix != '[]' && needs.list.outputs.matrix != '' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
component: ${{ fromJson(needs.list.outputs.matrix) }}
steps:
# Remove unnecessary files to free up space. Otherwise, we get 'no space left on device.'
- uses: data-intuitive/reclaim-the-bytes@v2
- uses: actions/checkout@v4
- uses: viash-io/viash-actions/setup@v5
- name: Run test
timeout-minutes: 30
run: |
viash test \
"${{ matrix.component.config }}" \
--cpus 2 \
--memory "6gb"