From ddc2ac84aaf8309209019c5b61af9faf64cbd29b Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Sat, 1 Aug 2026 13:30:57 +0200 Subject: [PATCH] Optimize update workflow steps and execution order Run tests before updating metadata, and combine Git configuration, commit, and push into a single step. Validating the downloaded dictionary file immediately after change detection ensures tests fail-fast before metadata is modified or staged. Combining Git setup, commit, and push reduces workflow step clutter and avoids unnecessary Git configuration on runs with no changes. --- .github/workflows/update.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index 714ac05..878945b 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -25,10 +25,6 @@ jobs: timeout-minutes: 5 steps: - uses: "actions/checkout@v7" - - name: "Configure Git" - run: | - git config user.name "Rodolfo Carvalho" - git config user.email "88819+rhcarvalho@users.noreply.github.com" - name: "Download" run: | URL='https://www.mdbg.net/chinese/export/cedict/cedict_1_0_ts_utf-8_mdbg.txt.gz' @@ -39,20 +35,19 @@ jobs: git add -- cedict_1_0_ts_utf-8_mdbg.txt git diff --cached --stat echo "changed=$(git diff --cached --quiet; echo $?)" >> "$GITHUB_OUTPUT" + - name: "Test" + if: "fromJSON(steps.diff.outputs.changed)" + run: "go test -v -count=1" - name: "Update metadata" if: "fromJSON(steps.diff.outputs.changed)" run: | awk -f meta -v RS='\r\n' cedict_1_0_ts_utf-8_mdbg.txt >> meta.csv git add -- meta.csv - - name: "Commit" + - name: "Commit and push" if: "fromJSON(steps.diff.outputs.changed)" run: | + git config user.name "Rodolfo Carvalho" + git config user.email "88819+rhcarvalho@users.noreply.github.com" RELEASE_DATE="$(awk -f release_date -v RS='\r\n' cedict_1_0_ts_utf-8_mdbg.txt)" git commit -m "CC-CEDICT ${RELEASE_DATE}" - - name: "Test" - if: "fromJSON(steps.diff.outputs.changed)" - run: "go test -v -count=1" - - name: Push - if: "fromJSON(steps.diff.outputs.changed)" - run: | git push