Configure GitHub for Mastodon Publishing
1. Prepare Your Mastodon Account
Generate a Mastodon API Key
- Go to your Mastodon account.
- Navigate to
Preferences
>Development
. - Create a new application:
- Application name: GitHub-Integration
- Scopes: profile (default), write:statuses
- Click Submit.
- Click the newly created
GitHub-Integration
application. - Navigate and note
Your access token
.
2. Create a GitHub Repository
Create a New Repository
- Go to GitHub and create a new repository.
- Give it a meaningful name (e.g., blog).
Set Up the Repository Structure
- Clone the repository to your local machine:
git clone https://github.com/<your-username>/<repository-name>.git
cd <repository-name>
It's always a best practice to create a branch and work from it.
git branch <branch-name> initial-build
git checkout <branch-name>
After creating the folder, the repository structure should look like this:
.
├── articles
├── LICENSE
└── README.md
3. Add Your Mastodon API Key to GitHub Secrets
Go to Repository Settings
- Navigate to "Settings" > "Secrets and variables" > "Actions" > "New repository secret".
Add a Secret
- Name the secret "MASTODON_TOKEN".
Paste the "Mastodon" API key from the previous step.
Set up the folder structure for GitHub Actions workflows:
mkdir -p .github/workflows
touch .github/workflows/mastodon-publisher.yml
.
├── .github
│ └── workflows
│ └── mastodon-publisher.yml
├── articles
├── LICENSE
└── README.md
Configure mastodon-publisher.yml
- Update the "mastodon-publisher.yml" file with the following contents:
name: Mastodon Publisher
on:
push:
branches:
- "**"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Mastodon Post on GitHub Actions
id: mastodon_toot
uses: cbrgm/mastodon-github-action@v2
with:
access-token: ${{ secrets.MASTODON_TOKEN }}
url: 'https://mastodon.social'
message: "Hello from GitHub Actions!"
- name: Get toot information
run: |
echo "Toot ID: ${{ steps.mastodon_toot.outputs.id }}"
echo "Toot URL: ${{ steps.mastodon_toot.outputs.url }}"
echo "Scheduled at: ${{ steps.mastodon_toot.outputs.scheduled_at }}"
Summary
- The "mastodon-publisher.yml" workflow automates publishing Markdown articles located in the articles directory to your Mastodon account.
5. Push the branch to GitHub
- Execute
git add --all
git commit -m "feat: add GitHub Actions workflow for publishing to Mastodon" \
-m "Configure automated publishing workflow."
git push origin <branch-name>
6. Create a Pull Request (PR)
Go to Your Repository in GitHub
- Visit your repository on GitHub.
Navigate to the "Pull Requests" Tab
- Click on the "Pull Requests" tab at the top of the repository page.
Click "New Pull Request"
- Select the "New Pull Request" button.
Select Branches
- Base branch: Choose the branch you want to merge into (e.g., main or production).
- Compare branch: Select the
<branch-name>
branch.
Review Changes
- Review the list of commits and the files changed to ensure they are correct.
Add a Title and Description
- Provide a concise and descriptive title (e.g., feat: Add GitHub Actions for Mastodon publishing).
- Add any necessary details in the description box (e.g., reasons for changes, references to issues, etc.).
Review and Approve the PR
- Self-Review or Request Reviews.
Merge the Pull Request
- Navigate to the PR you just created.
- Click "Merge Pull Request".
- Click "Confirm merge".
7. Test and Validate the Workflow
- The workflow will trigger automatically once a push or merge is made. You can apply conditional logic to refine when it should run, ensuring it only triggers for specific events or branches.
Top comments (0)