This repository has been archived on 2024-07-30. You can view files and clone it, but cannot push or open issues or pull requests.
Auto-Homelab/.drone.yml
Matt Reeves c5af7d12f3
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Update .drone.yml
2024-02-29 09:43:02 +00:00

76 lines
No EOL
2.3 KiB
YAML

kind: pipeline
type: docker
name: Lint on PR
trigger:
event:
- pull_request
steps:
- name: python3.8
image: python:3.8-slim-bullseye
commands:
- "python3 --version"
- "pip3 install yamllint"
- "yamllint --version"
- 'find . -name "*.yml" ! -name ".drone.yml" -exec yamllint -d "{extends: relaxed, rules: {line-length: {max: 120}}}" {} +'
- 'find . -name "*.yaml" ! -name ".drone.yml" -exec yamllint -d "{extends: relaxed, rules: {line-length: {max: 120}}}" {} +'
- name: python3.9
image: python:3.9-slim-bullseye
commands:
- "python3 --version"
- "pip3 install yamllint"
- "yamllint --version"
- 'find . -name "*.yml" ! -name ".drone.yml" -exec yamllint -d "{extends: relaxed, rules: {line-length: {max: 120}}}" {} +'
- 'find . -name "*.yaml" ! -name ".drone.yml" -exec yamllint -d "{extends: relaxed, rules: {line-length: {max: 120}}}" {} +'
- name: python3.10
image: python:3.10-slim-bullseye
commands:
- "python3 --version"
- "pip3 install yamllint"
- "yamllint --version"
- 'find . -name "*.yml" ! -name ".drone.yml" -exec yamllint -d "{extends: relaxed, rules: {line-length: {max: 120}}}" {} +'
- 'find . -name "*.yaml" ! -name ".drone.yml" -exec yamllint -d "{extends: relaxed, rules: {line-length: {max: 120}}}" {} +'
---
kind: pipeline
type: gitea
name: update-branch-on-push
# This triggers the pipeline only when there's a push to the "main" branch.
trigger:
branch:
- main
# Define steps for the pipeline
steps:
- name: Checkout code
git:
depth: 1
# Find subfolders with docker-compose.yml files
- name: Find folders to update
script: |
folders=$(find . -type d -name 'docker-compose.yml' | sed 's/\/docker-compose\.yml//g' | uniq)
echo "Found folders: $folders"
# Loop through each folder and update its branch
- name: Update branches
template: |
{{ range $folder := $folders }}
- name: Update {{ $folder }} branch
commands:
- git fetch origin {{ $folder }}
- git checkout {{ $folder }}
- git rebase origin/main
- git push origin {{ $folder }}
{{ end }}
# This condition ensures the pipeline runs only if there are changes to any folder
when:
- expression: |
git diff --name-only origin/main HEAD | grep -E '\.(yml|yaml)'