From 7ae1ccf4acf6f61e01c7dae2a1329ca302cf4f8e Mon Sep 17 00:00:00 2001 From: Gerrit Gogel Date: Sat, 26 Aug 2023 11:32:24 +0200 Subject: [PATCH] add manual trigger --- .github/workflows/auto_release.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/workflows/auto_release.yml b/.github/workflows/auto_release.yml index 801e77a..0c23987 100644 --- a/.github/workflows/auto_release.yml +++ b/.github/workflows/auto_release.yml @@ -4,6 +4,15 @@ on: push: branches: - main + paths: + - 'seafile-server/**' + - 'seahub/**' + - 'seahub-media/**' + workflow_dispatch: + inputs: + folder: + description: 'Which folder to release (seafile-server/seahub/seahub-media)?' + required: true jobs: create_release: @@ -15,7 +24,11 @@ jobs: - name: Determine Changed Directory and Extract Version id: dir_version run: | - FOLDER_CHANGED=$(git diff --name-only HEAD^ HEAD | cut -d '/' -f1 | uniq) + if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then + FOLDER_CHANGED=${{ github.event.inputs.folder }} + else + FOLDER_CHANGED=$(git diff --name-only HEAD^ HEAD | cut -d '/' -f1 | uniq) + fi if [[ -f "$FOLDER_CHANGED/Dockerfile" ]]; then SEAFILE_VERSION=$(grep 'SEAFILE_VERSION' $FOLDER_CHANGED/Dockerfile | awk -F= '{print $2}' | tr -d ' "') echo "SEAFILE_VERSION=$SEAFILE_VERSION" >> $GITHUB_ENV @@ -25,7 +38,6 @@ jobs: - name: Get Previous Build Number and Compute Next id: build_number run: | - # Use GitHub API to fetch previous release. Adjust based on your naming convention. PREVIOUS_BUILD=$(curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ https://api.github.com/repos/${{ github.repository }}/releases | \ jq -r --arg FOLDER "$FOLDER_CHANGED" '.[] | select(.name | startswith($FOLDER)) | .name' | head -1 | awk -F_ '{print $3}') @@ -40,7 +52,7 @@ jobs: - name: Get Commit Messages id: commit_messages run: | - MESSAGES=$(git log --pretty=format:"%s" $(git describe --tags --abbrev=0)..HEAD) + MESSAGES=$(git log --pretty=format:"%s" -- "$FOLDER_CHANGED" $(git describe --tags --abbrev=0)..HEAD) echo "MESSAGES=$MESSAGES" >> $GITHUB_ENV - name: Create Release @@ -53,4 +65,4 @@ jobs: release_name: ${{ env.FOLDER_CHANGED }}_${{ env.SEAFILE_VERSION }}_${{ env.NEXT_BUILD }} body: ${{ env.MESSAGES }} draft: false - prerelease: false + prerelease: false \ No newline at end of file