fediverse-actionPost to fediverse from github using mastodon-lite

联合创作 · 2023-09-30 02:02

Fediverse-Action


GitHub forks License NPM


About


Post notification to fediverse social web when code is updated. Currently it was tested with Mastodon service, Support for other ActivityPub services like pleroma or GNUsocial is also welcome.



Usage


Join fediverse



Add secret to github



Commit config file


To enable this "action" in any of your github hosted project, a configuration file should be located in ".github/workflow/" subdir, just like:



Back to your project you can create ".github/workflows/fediverse-action.yml" file by applying this patch from shell:



curl "https://github.com/rzr/color-sensor-js/commit/867de15f.patch"  | git am
git push


Or pick it from:



Then check action's status on github, a default message should then appears on a "mastodon.social" profile, something like:



Note default "mastodon.social" server will be used unless you override a host value:



        with:
access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }}
host: "social.bau-ha.us" # custom host if not "mastodon.social" (default)


Example:



Default message will link to your repo URL.


Customize commit message


Once posting is verified, then apply this next change to overload default message with your project's latest git commit message.



curl "https://github.com/rzr/color-sensor-js/commit/cb4512fe.patch" | git am
git push




(...)
steps:
- uses: actions/checkout@v1
- id: log
run: echo "::set-output name=message::$(git log --no-merges -1 --oneline)"
- uses: rzr/fediverse-action@master
with:
access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }}
message: "https://github.com/${{ github.repository }}/commit/${{ steps.log.outputs.message }} ~ #FediVerseAction"


Feel free to edit "message" input with anything you prefer.


Examples:



If you need to be less verbose you can filter on "Release x.y.z" commit messages only:



As a reference, config file should look like this:



# YAML
---
name: fediverse-action
on: [push]
jobs:
post:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- id: log
run: echo "::set-output name=message::$(git log --no-merges -1 --oneline)"
- if: "contains(steps.log.outputs.message, 'Release ')"
uses: rzr/fediverse-action@master
with:
access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }}
message: "https://github.com/${{ github.repository }}# ${{ steps.log.outputs.message }} ~ #FediVerseAction"
host: "mamot.fr" # If not using default "mastodon.social"


You can get inspired from this reference config file:



Feel free to also pin version to latest release (-"@master" +"@vX.Y.Z"):



Notes


If you want to crosspost to other social network, it's possible using IFTT:



Community


Projects using fediverse-action:



Feel free to add your config file and relative post to this list:



Resources



fediverse-action

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报