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