diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml deleted file mode 100644 index c99af0f..0000000 --- a/.gitea/workflows/test.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: Core Build (push) -on: - push: - branches-ignore: - - master - -env: - ACTI_BOT_TOKEN: ${{ secrets.ACTI_BOT_TOKEN }} - -jobs: - self-test: - runs-on: ubuntu-latest - steps: - - run: touch text.txt - - uses: https://source.vague.tech/open-vague/ci-actions/publish@feature/1-publish - with: - file: text.txt - package: a-proper-test-package - version: master - force: true \ No newline at end of file diff --git a/README.md b/README.md index a7132b6..099d76b 100644 --- a/README.md +++ b/README.md @@ -24,4 +24,24 @@ Publishes a `generic` package to current Gitea instance. Example: * `file` - path to the file to upload (used as uploaded file name within the package) * `package` - the package name * `version` - the package version, need to be unique (unless force flag is set) -* `force` - false by default; if set **deletes the whole version** of the package (all files) and then publishes instead with the same version \ No newline at end of file +* `force` - false by default; if set **deletes the whole version** of the package (all files) and then publishes instead with the same version + +## Releasae + +Create a tag and a release (if tag is not present) or a release for an existing tag. + +The current implementation does not support moving tags, so version should be unique within the repo. + +```yaml + - id: create-release + uses: https://source.vague.tech/open-vague/ci-actions/release@feature/3-release + with: + name: Initial release + version: v0.1.0 + - run: | + echo "Id: ${{ steps.create-release.outputs.release_id }}" +``` + +* `name` - release name +* `body` - release notes (or description) +* `version` - tag name \ No newline at end of file diff --git a/release/action.yaml b/release/action.yaml new file mode 100644 index 0000000..5ac6910 --- /dev/null +++ b/release/action.yaml @@ -0,0 +1,30 @@ +name: create a release +description: create gitea release (creating tag or for existing one) + +inputs: + name: + description: release name + required: true + notes: + description: release notes + required: false + default: "" + version: + description: release version + required: true + +outputs: + release_id: + description: release id if created successfully + value: ${{ steps.create-release.outputs.id }} + +runs: + using: composite + steps: + - id: create-release + shell: bash + run: | + RESPONSE=$(curl --fail-with-body -X POST -H "Authorization: token ${ACTI_BOT_TOKEN}" -H "Content-Type: application/json" \ + -d "{\"draft\": false, \"prerelease\": false, \"body\": \"${{ inputs.body }}\", \"tag_name\": \"${{ inputs.version }}\", \"name\": \"${{ inputs.name }}\"}" \ + ${{ gitea.api_url }}/repos/${{ gitea.repository }}/releases) + echo "id=$(echo "$RESPONSE" | jq -r .id)" >> "$GITEA_OUTPUT"