name: STASIS Indexer description: | Executes the STASIS indexer with arguments inputs: artifactory_url: type: string description: Artifactory base address (without /artifactory) required: true default: "" artifactory_repo: type: string description: Artifactory repository path where deliveries are stored required: true default: "some-repo" artifactory_access_key: type: string description: Artifactory access key required: true default: "" mission: type: choice description: Mission name (e.g. hst) options: - hst - jwst - roman - generic required: true default: "generic" build_name: type: string description: Build name (e.g. MYPIPELINE-1.2.3) required: true default: "" destination: type: string description: Path to store an indexed delivery on-disk required: true default: "/path/to/stasis/releases" stasis_indexer_args: type: string description: Additional arguments passed to stasis_indexer required: false default: "" runs: using: "composite" steps: - uses: actions/checkout@v4 - name: Install STASIS id: install-stasis uses: ./.github/actions/stasis_install with: prefix: ${{ github.workspace }}/.local build_type: RelWithDebInfo - name: Enable STASIS run: | echo "PATH=${{ steps.install-stasis.outputs.bindir }}:$PATH" >> $GITHUB_ENV shell: bash - name: Run STASIS Indexer run: | src="${{ inputs.mission }}/${{ inputs.build_name }}" dest="${{ inputs.destination }}/${{ inputs.mission }}/${{ inputs.build_name }}" repo_src="${{ inputs.artifactory_repo }}/$src" jf rt download "$repo_src" stasis_indexer \ --unbuffered \ --verbose \ --web \ --dest "${dest}" \ ${{ inputs.stasis_args }} \ "$src" shell: bash env: #Artifactory service URL (ending in /artifactory) STASIS_JF_ARTIFACTORY_URL: ${{ inputs.artifactory_url }}/artifactory #Artifactory "generic" repository to write to STASIS_JF_REPO: ${{ inputs.artifactory_repo }} STASIS_JF_ACCESS_TOKEN: ${{ inputs.artifactory_access_key }}