Skip to content

gfdsgfds

gfdsgfds #41

name: Increment Build
on:
pull_request_target:
branches: [nightly]
types: [closed]
jobs:
verify-changes:
runs-on: ubuntu-latest
if: github.base_ref == 'nightly' && github.event.pull_request.merged
outputs:
build: ${{ steps.list-changes.outputs.build }}
steps:
- name: Check Out Repo
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: nightly
- name: Get changes
id: get-changes
run: echo "files=$(git diff --name-only HEAD^ | xargs)" >> $GITHUB_OUTPUT
- name: List changed files
id: list-changes
run: |
for file in ${{ steps.get-changes.outputs.files }}; do
if [[ $file =~ ^(defaults|fonts|modules|kometa.py|requirements.txt|.dockerignore|Dockerfile).*$ ]] ; then
echo "$file will trigger docker build"
echo "build=true" >> $GITHUB_OUTPUT
else
echo "$file will not trigger docker build"
fi
done
increment-build:
runs-on: ubuntu-latest
needs: [ verify-changes ]
if: needs.verify-changes.outputs.build == 'true'
outputs:
version: ${{ steps.update-version.outputs.version }}
build-value: ${{ steps.update-version.outputs.build-value }}
commit-msg: ${{ steps.update-version.outputs.commit-msg }}
commit-hash: ${{ steps.update-version.outputs.commit-hash }}
commit-short: ${{ steps.update-version.outputs.commit-short }}
pr-tag: ${{ steps.update-version.outputs.pr-tag }}
steps:
- name: Create App Token
uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_TOKEN }}
- name: Check Out Repo
uses: actions/checkout@v4
with:
token: ${{ steps.app-token.outputs.token }}
ref: nightly
fetch-depth: 0
- name: Update VERSION File
id: update-version
run: |
branch_name=${{ github.event.pull_request.head.ref }}
repo_name=${{ github.event.pull_request.head.repo.full_name }}
base_name="${repo_name%/*}"
if [[ "${branch_name}" =~ ^(master|develop|nightly)$ ]]; then
pr_tag="${base_name}"
else
pr_tag="${branch_name}"
fi
echo "pr-tag=${pr_tag}" >> $GITHUB_OUTPUT
value=$(cat VERSION)
old_msg=$(git log -1 HEAD --pretty=format:%s)
version="${value%-build*}"
part_value=$(cat PART)
if [[ "$value" == *"-"* ]]; then
build_value="$((${value#*-build} + 1))"
else
build_value="1"
fi
new_value="${version}-build${build_value}"
new_msg="[${build_value}] ${old_msg}"
echo "version=${version}" >> $GITHUB_OUTPUT
echo "build-value=${build_value}" >> $GITHUB_OUTPUT
echo "commit-msg=${old_msg}" >> $GITHUB_OUTPUT
echo "commit-hash=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
echo "commit-short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
echo "$new_value" > "VERSION"
echo "" > "PART"
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add VERSION
git add PART
git commit -m "${new_msg}" --amend
git push origin nightly --force-with-lease