some notes for workflows
This commit is contained in:
parent
bc25b82d6d
commit
d1424b54d8
1 changed files with 53 additions and 0 deletions
53
Workflow-samples.md
Normal file
53
Workflow-samples.md
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
Workflows koennen mit der forgejo-runner installation getestet werden:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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)
|
||||||
|
```yml
|
||||||
|
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.
|
||||||
|
```yml
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
- 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"
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in a new issue