name: 'openpilot env setup, with retry on failure' inputs: docker_hub_pat: description: 'Auth token for Docker Hub, required for BuildJet jobs' required: false default: '' cache_key_prefix: description: 'Prefix for caching key' required: false default: 'scons_x86_64' sleep_time: description: 'Time to sleep between retries' required: false default: 30 runs: using: "composite" steps: - id: setup1 uses: ./.github/workflows/setup continue-on-error: true with: docker_hub_pat: ${{ inputs.docker_hub_pat }} cache_key_prefix: ${{ inputs.cache_key_prefix }} is_retried: true - if: steps.setup1.outcome == 'failure' shell: bash run: sleep ${{ inputs.sleep_time }} - id: setup2 if: steps.setup1.outcome == 'failure' uses: ./.github/workflows/setup continue-on-error: true with: docker_hub_pat: ${{ inputs.docker_hub_pat }} cache_key_prefix: ${{ inputs.cache_key_prefix }} is_retried: true - if: steps.setup2.outcome == 'failure' shell: bash run: sleep ${{ inputs.sleep_time }} - id: setup3 if: steps.setup2.outcome == 'failure' uses: ./.github/workflows/setup with: docker_hub_pat: ${{ inputs.docker_hub_pat }} cache_key_prefix: ${{ inputs.cache_key_prefix }} is_retried: true