diff options
| author | Nikolay Govorov <me@govorov.online> | 2026-03-20 23:53:40 +0000 |
|---|---|---|
| committer | Nikolay Govorov <me@govorov.online> | 2026-03-20 23:56:27 +0000 |
| commit | 525cdb190fec021e1659d9ba8756752305bf0b28 (patch) | |
| tree | 4d2f8ac792f4cc2320d575bdff28e19f08e076d4 | |
| parent | f60c9121ee469c388350f33bfb587a4166aac5ac (diff) | |
| download | tar tar.gz tar.bz2 tar.lz tar.xz tar.zst zip | |
Remove github-cli deps
Diffstat
| -rw-r--r-- | .forgejo/workflows/build.yml | 42 | +29 −13 |
1 files changed, 29 insertions, 13 deletions
diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml index 27bc329..c913439 100644 --- a/.forgejo/workflows/build.yml +++ b/.forgejo/workflows/build.yml @@ -163,25 +163,39 @@ jobs: git tag -f ${{ env.RELEASE_TAG }} git push origin --force tag ${{ env.RELEASE_TAG }} - - name: Delete old release assets + + - name: Update Forgejo release run: | - for asset in $(gh release view ${{ env.RELEASE_TAG }} --json assets --jq '.assets[].name' 2>/dev/null || true); do - gh release delete-asset ${{ env.RELEASE_TAG }} "$asset" --yes + call() { + curl -sS -X "$1" \ + -H "Content-Type: $2" \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases$3" \ + "${@:4}"; + } + + # Delete existing release + RELEASE_ID=$(call GET "" "/tags/${{ env.RELEASE_TAG }}" | jq -r '.id // empty') + if [ -n "$RELEASE_ID" ]; then + call DELETE "" "/$RELEASE_ID" + fi + + # Create release and upload assets + RELEASE_ID=$(jq -n \ + --arg name "${{ env.RELEASE_TAG }}" \ + --arg body "${{ env.description }}" \ + '{name: $name, tag_name: $name, body: $body}' \ + | call POST application/json "/" -d @- | jq -r '.id') + + for file in dist/*; do + call POST application/octet-stream "/$RELEASE_ID/assets?name=$(basename "$file")" \ + --data-binary @"$file" done env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Create Forgejo Release - uses: https://github.com/softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0 - with: - name: ${{ env.RELEASE_TAG }} - tag_name: ${{ env.RELEASE_TAG }} - files: dist/* - body: | + description: | Last successful build from `main` branch. **Release checks**: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_number }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Update APT/RPM repos on s3 - name: Create APT repository @@ -189,6 +203,7 @@ jobs: aptly repo create -distribution=nightly -component=main recluse aptly repo add recluse dist/*.deb aptly publish repo -architectures=amd64,arm64 -gpg-key="${{vars.GPG_KEY_ID}}" recluse + - name: Create RPM repository run: | mkdir -p rpm-repo @@ -205,6 +220,7 @@ jobs: createrepo_c rpm-repo/ gpg --default-key="${{vars.GPG_KEY_ID}}" --detach-sign --armor rpm-repo/repodata/repomd.xml + - name: Upload RPM to S3 run: | mkdir -p ~/.config/rclone |
