name: Release of a new version on: release: types: [published] workflow_dispatch: inputs: version: description: 'Version to release' required: true default: 'latest' type: string jobs: build: runs-on: [dev, amd64] env: REGISTRY_HOST: gitea.ceperka.net IMAGE: gitea.ceperka.net/cx/pricepower PULL_ENDPOINT: ${{ secrets.PULL_ENDPOINT }} steps: - uses: actions/checkout@v4 # Install task, needed for GitHub's runner #- name: Setup Task # uses: illbjorn/setup-taskfile@main # Figure out the tag - name: Get git tag id: get_tag if: github.event_name == 'release' run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV - name: Set version from input if: github.event_name == 'workflow_dispatch' run: echo "TAG_NAME=${{ github.event.inputs.version }}" >> $GITHUB_ENV # Build - name: Docker login run: docker login $REGISTRY_HOST -u "${{ secrets.REGISTRY_DEV_USERNAME }}" -p "${{ secrets.REGISTRY_DEV_PASSWORD }}" - name: Build run: task build IMAGE=$IMAGE TAG=${{ env.TAG_NAME }} - name: Tag latest run: task tag-latest IMAGE=$IMAGE TAG=${{ env.TAG_NAME }} - name: Push run: task push IMAGE=$IMAGE TAG=${{ env.TAG_NAME }} - name: Push latest run: task push IMAGE=$IMAGE TAG=latest # Deploy - name: Call pull+up endpoint run: curl $PULL_ENDPOINT