name: releaser-pleaser on: push: branches: [ main ] # Using pull_request_target to avoid tainting the actual release PR with code from open feature pull requests pull_request_target: types: - edited - labeled - unlabeled # Only one job needs to run at a time, if a new job is started there is probably new data to include in the response, so # it does not make sense to finish the previous job. This also helps with "data-race conflicts", where a human changes # the PR description but releaser-pleaser was already running and overwrites the humans changes. concurrency: group: releaser-pleaser cancel-in-progress: true permissions: { } jobs: releaser-pleaser: # TODO: if: push or pull_request.closed runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 with: ref: main - uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3 # Build container image from current commit and replace image ref in `action.yml` # Without this, any new flags in `action.yml` would break the job in this repository until the new # version is released. But a new version can only be released if this job works. - run: ko build --bare --local --platform linux/amd64 --tags ci github.com/apricote/releaser-pleaser/cmd/rp - run: "sed -i 's|image: .*$|image: docker://ko.local:ci|g' action.yml" # Dogfood the action to make sure it works for users. - name: releaser-pleaser uses: ./ with: token: ${{ secrets.RELEASER_PLEASER_TOKEN }} extra-files: | action.yml templates/run.yml