ceph-metrics
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 0s

This commit is contained in:
hogweed1
2025-11-21 01:09:08 +10:00
parent ca5322dfcf
commit fd2fd5eb4b
2 changed files with 51 additions and 58 deletions

View File

@@ -15,68 +15,34 @@ jobs:
cd /usr/share/ansible-repo/ cd /usr/share/ansible-repo/
git pull git pull
shell: bash shell: bash
# - name: Checkout repository manually using bash # - name: common-setup-just-created
# run: | # run: |
# # Ensure the workspace directory is clean and navigate into it # #!/bin/bash
# # GITHUB_WORKSPACE is an environment variable set by the runner
# cd $GITHUB_WORKSPACE
# # Authenticate using the GITEA_TOKEN (managed by Gitea Actions) # # Get the list of changed files
# # GITHUB_SERVER_URL and GITHUB_REPOSITORY are also standard env vars # CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD)
# git clone --depth=1 https://${{ gitea.token }}@${GITHUB_SERVER_URL#*://}/${GITHUB_REPOSITORY}.git .
# # Optional: checkout a specific pull request head if it's a PR event
# # Note: Gitea uses refs/pull/:prNumber/head instead of merge commits for PRs
# if [ "${{ github.event_name }}" = "pull_request" ]; then
# git checkout ${{ github.event.pull_request.head.sha }}
# fi
# - name: Check system info using bash # # Initialize an array for playbooks to run
# run: | # PLAYBOOKS_TO_RUN=()
# echo "Running on the host machine"
# uname -a
# which bash
# bash --version
# - name: List files in the workspace # # Check for changes in specific directories and add corresponding playbooks
# run: ls -lsa # if echo "$CHANGED_FILES" | grep -q "roles/webserver/"; then
# PLAYBOOKS_TO_RUN+=("playbooks/webserver.yml")
# fi
# - name: Run a simple bash script # if echo "$CHANGED_FILES" | grep -q "roles/database/"; then
# run: | # PLAYBOOKS_TO_RUN+=("playbooks/database.yml")
# echo "Hello from Gitea Actions!" # fi
# mkdir -p my_output
# echo "This was created by a workflow running on the host." > my_output/output.txt
# shell: bash
# - name: Checkout repository
# uses: actions/checkout@v3
# - name: Check system info using bash # # Run the identified playbooks
# run: | # if [ ${#PLAYBOOKS_TO_RUN[@]} -gt 0 ]; then
# echo "Running on the host machine" # for playbook in "${PLAYBOOKS_TO_RUN[@]}"; do
# uname -a # echo "Running playbook: $playbook"
# which bash # ansible-playbook "$playbook" -i inventory.ini
# bash --version # done
# else
# echo "No relevant playbooks modified. Skipping Ansible run."
# fi
# shell: bash
# - name: List files in the workspace
# run: ls -lsa
# - name: Run a simple bash script
# run: |
# echo "Hello from Gitea Actions!"
# mkdir -p my_output
# echo "This was created by a workflow running on the host." > my_output/output.txt
# shell: bash
# - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
# - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
# - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
# - name: Check out repository code
# uses: actions/checkout@v4
# - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
# - run: echo "🖥️ The workflow is now ready to test your code on the runner."
# - name: List files in the repository
# run: |
# ls ${{ gitea.workspace }}
# - run: echo "🍏 This job's status is ${{ job.status }}."

27
playbooker.sh Normal file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
# Get the list of changed files
CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD)
# Initialize an array for playbooks to run
PLAYBOOKS_TO_RUN=()
# Check for changes in specific directories and add corresponding playbooks
if echo "$CHANGED_FILES" | grep -q "roles/webserver/"; then
PLAYBOOKS_TO_RUN+=("playbooks/webserver.yml")
fi
if echo "$CHANGED_FILES" | grep -q "roles/database/"; then
PLAYBOOKS_TO_RUN+=("playbooks/database.yml")
fi
# Run the identified playbooks
if [ ${#PLAYBOOKS_TO_RUN[@]} -gt 0 ]; then
for playbook in "${PLAYBOOKS_TO_RUN[@]}"; do
echo "Running playbook: $playbook"
ansible-playbook "$playbook" -i inventory.ini
done
else
echo "No relevant playbooks modified. Skipping Ansible run."
fi
shell: bash