1.8 KiB
1.8 KiB
Workflows koennen mit der forgejo-runner installation getestet werden:
forgejo-runner exec
Der Befehl sucht im aktuellen Verzeichnis nach dem Ordner .forgejo/workflows
und nutzt die .yml
Dateien.
Die workflows muessen mit on: [push]
beginnen
Bestimmtes Docker-Image nutzen
(Runner ist als 'docker' gelabelt)
on: [push]
jobs:
test:
runs-on: docker
container:
image: alpine:3.19
steps:
- run: |
grep Alpine /etc/os-release
echo SUCCESS
Github Actions nutzen
Wenn uses ohne https://github.com/
genutzt wird, dann wird die action unter https://code.forgejo.org/
gesucht.
- name: Setup PHP
uses: https://github.com/shivammathur/setup-php@v2
with:
php-version: '8.1' # Oder deine benötigte PHP-Version
Publish composer package to ftf
Vorraussetzung ist die Anlage eines tokens zum Schreiben in die Pakete (https://git.fucktheforce.de/user/settings/applications) und die Anlage eines Secrets (https://git.fucktheforce.de/user/settings/actions/secrets). hier mit dem Namen "WORKFLOW_TOKEN".
CURL ohne --fail
fuehrt dazu, dass der Workflow erfolgreich ist auch wenn der Upload nicht erfolgt ist.
- name: Build package
run: composer archive --format=zip --file=package
- name: Publish to Forgejo Package Registry
run: |
echo "Publishing to https://git.fucktheforce.de/api/packages/${{ github.repository_owner }}/composer?version=${{ github.ref_name }}"
curl --request PUT --fail --silent \
--url "https://git.fucktheforce.de/api/packages/${{ github.repository_owner }}/composer?version=${{ github.ref_name }}" \
--header "Authorization: Bearer ${{ secrets.WORKFLOW_TOKEN }}" \
--header "Content-Type: application/zip" \
--data-binary "@package.zip"