name: Check Existing Artifact on: workflow_call: inputs: env_json: required: true type: string secrets: GITEA_TOKEN: required: true outputs: artifact_exists: value: ${{ jobs.check.outputs.artifact_exists }} version: value: ${{ jobs.check.outputs.version }} env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} GIT_TAG_PREFIX: ${{ fromJson(inputs.env_json).GIT_TAG_PREFIX || '' }} VERSION_FILE: ${{ fromJson(inputs.env_json).VERSION_FILE || '' }} jobs: check: runs-on: ubuntu-latest outputs: artifact_exists: ${{ steps.set-outputs.outputs.artifact_exists }} version: ${{ steps.set-outputs.outputs.version }} steps: - uses: actions/checkout@v4 - uses: actions/checkout@v4 with: repository: niko/gitea-ci-library path: .ci - name: Install yq # COMPROMISE: Requires internet access. # Does NOT work in air-gapped environments. The script falls back # to BOM-stripping sed if yq is not available. run: | if ! command -v yq &>/dev/null; then sudo apt-get update -qq && sudo apt-get install -y -qq yq fi - name: Check existing artifact and calculate version env: SERVER_URL: ${{ gitea.server_url }} REPO: ${{ github.repository }} SHA: ${{ github.sha }} run: bash .ci/scripts/check-version.sh - name: Set job outputs id: set-outputs run: | source /tmp/build-ctx/build.env echo "artifact_exists=$ARTIFACT_EXISTS" >> "$GITHUB_OUTPUT" echo "version=$NEXT_VERSION" >> "$GITHUB_OUTPUT"