Composite action that sets version in info.json, creates README.md
if missing, zips with {name}_{version}.zip structure, and uploads
to mods.factorio.com via init_upload + finish_upload API.
Fails on any API error (auth, unknown mod, invalid release).
sebse/actions
Reusable Gitea Actions for sebse infrastructure.
Actions
docker-login
Login to git.sebse.de container registry.
Inputs: username, password
docker-build-push
Extract metadata, build and push Docker image. Handles cache automatically.
Inputs: image, context, dockerfile (optional)
helm-package-push
Inject image tag into chart values, package and push to git.sebse.de helm registry.
Pushes both SHA-tagged and latest versions.
Inputs: chart-path, version, app-version, username, password
factorio-mod-push
Set version, zip, and upload a Factorio mod to mods.factorio.com. Creates README.md if missing. Fails on any API error (auth, unknown mod, invalid release).
Inputs: mod-folder (default .), version, factorio-token
Outputs: zip-path
helm-deploy
Deploy via helmbot SSH to vmd127288. Validates all inputs server-side.
Inputs: app, profile, version, ssh-key
Usage example
- name: Docker login
uses: sebse/actions/docker-login@main
with:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push app
uses: sebse/actions/docker-build-push@main
with:
image: git.sebse.de/${{ github.repository }}
context: ./web
- name: Package and push helm chart
uses: sebse/actions/helm-package-push@main
with:
chart-path: web/charts/my-app
version: 0.0.0-${{ env.SHORT_SHA }}
app-version: ${{ env.SHORT_SHA }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Deploy to prod
uses: sebse/actions/helm-deploy@main
with:
app: my-app
profile: prod
version: 0.0.0-${{ env.SHORT_SHA }}
ssh-key: ${{ secrets.HELMBOT_SSH_KEY }}
Constants hardcoded in actions
- Registry:
git.sebse.de - Deploy host:
84.247.134.31 - Deploy port:
1234 - Deploy user:
helmbot - Helm registry path:
https://git.sebse.de/api/packages/sebse/helm/api/charts