concourse/tasks/generate-package-version.yaml (24 lines of code) (raw):

--- platform: linux image_resource: type: registry-image source: repository: alpine/git inputs: - name: repo outputs: - name: package-version run: path: ash args: - -exc - | latest=$(cd repo;git tag -l '20*'|tail -1) # TODO: use shell logic only latest_date=${latest/.*} todays_date=$(date '+%Y%m%d') latest_build=0 if [[ $latest_date == $todays_date ]]; then latest_build=${latest/*.} latest_build=$((latest_build+1)) fi printf "%s.%02d\n" "${todays_date}" "${latest_build}" | tee package-version/version