name: Build and Publish Develop on: workflow_run: workflows: [Build/Test] types: [completed] branches: [develop] concurrency: group: build-opencost-develop cancel-in-progress: false env: # Use docker.io for Docker Hub if empty REGISTRY: ghcr.io jobs: build-and-publish-opencost: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' }} permissions: contents: read packages: write steps: - name: Checkout Repo uses: actions/checkout@v4 - name: Set SHA id: sha run: | echo "OC_SHORTHASH=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Set OpenCost Image Tags id: tags run: | echo "IMAGE_TAG=ghcr.io/${{ github.repository_owner }}/opencost:develop-${{ steps.sha.outputs.OC_SHORTHASH }}" >> $GITHUB_OUTPUT - name: Build and publish container uses: ./.github/actions/build-container with: actor: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} image_tag: ${{ steps.tags.outputs.IMAGE_TAG }} release_version: develop-${{ steps.sha.outputs.OC_SHORTHASH }} - name: Install crane uses: imjasonh/crane@v0.12.0 - name: Tag and push latest image run: | # Extract the repository part (everything before the last colon) REPO=$(echo "${{ steps.tags.outputs.IMAGE_TAG }}" | sed 's/:.*$//') # Create the new tag NEW_TAG="${REPO}:develop-latest" echo "Copying ${{ steps.tags.outputs.IMAGE_TAG }} to ${NEW_TAG}" crane copy "${{ steps.tags.outputs.IMAGE_TAG }}" "${NEW_TAG}"