diff --git a/.github/workflows/create-daily-docs-sync-pr.yaml b/.github/workflows/create-daily-docs-sync-pr.yaml index 2381049..77d0abe 100644 --- a/.github/workflows/create-daily-docs-sync-pr.yaml +++ b/.github/workflows/create-daily-docs-sync-pr.yaml @@ -1,4 +1,4 @@ -name: daily docs sync PR +name: docs sync PR on Solidity releases on: schedule: @@ -12,8 +12,30 @@ env: GITHUB_REPOSITORY_OWNER: solidity-docs jobs: + checkSolidityRelease: + runs-on: ubuntu-latest + outputs: + current_release: ${{ steps.current-release-version.outputs.current_release }} + latest_release: ${{ steps.latest-release-version.outputs.latest_release }} + steps: + - uses: actions/checkout@v4 + - name: Get current Solidity docs version + id: current-release-version + run: | + current_release=$(> $GITHUB_OUTPUT + - name: Get latest Solidity release version + id: latest-release-version + run: | + latest_release=$( + curl -sL https://api.github.com/repos/ethereum/solidity/releases/latest | jq --raw-output ".tag_name" | cut -d"v" -f2 + ) + echo "latest_release=$latest_release" >> $GITHUB_OUTPUT + createPullRequest: runs-on: ubuntu-latest + needs: checkSolidityRelease + if: needs.checkSolidityRelease.outputs.current_release != needs.checkSolidityRelease.outputs.latest_release strategy: # In the context matrix strategy, fail-fast means, if one of the jobs # fails,the rest of the jobs will be canceled. In our case, this can @@ -36,7 +58,7 @@ jobs: - zh-chinese steps: - name: Fetch translation repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: token: ${{ secrets.PAT }} repository: ${{ env.GITHUB_REPOSITORY_OWNER }}/${{ matrix.repos }} @@ -55,7 +77,7 @@ jobs: git fetch english develop - name: Fetch main Solidity repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: repository: ethereum/solidity fetch-depth: 0 @@ -64,7 +86,7 @@ jobs: path: solidity/ - name: Fetch bot's repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: token: ${{ secrets.PAT }} repository: ${{ github.repository }} @@ -112,9 +134,9 @@ jobs: run: | rm -rf bot/ - - name: Create Pull Request + - name: Create Sync Pull Request if: ${{ steps.bot-config.outputs.bot_disabled == 'false' && steps.check-sync-branch.outputs.branch_exists == 'false' }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@v6 with: path: translation/ token: "${{ secrets.PAT }}" @@ -127,3 +149,25 @@ jobs: labels: "${{ join(fromJSON(steps.bot-config.outputs.pr_labels)) }}" assignees: ${{ env.assignee }} reviewers: ${{ env.reviewer }} + + - name: Fetch Solidity translation repository + uses: actions/checkout@v4 + + - name: Update Solidity version + run: | + echo ${{ needs.checkSolidityRelease.outputs.latest_release }} > latest_solidity.release + + - name: Create Pull Request to update Solidity version + uses: peter-evans/create-pull-request@v6 + with: + token: "${{ secrets.PAT }}" + add-paths: latest_solidity.release + commit-message: Update Solidity release version to ${{ needs.checkSolidityRelease.outputs.latest_release }} + committer: "${{ env.BOT_USERNAME }} <${{ env.BOT_EMAIL }}>" + author: "${{ env.BOT_USERNAME }} <${{ env.BOT_EMAIL }}>" + title: Update Solidity release version to ${{ needs.checkSolidityRelease.outputs.latest_release }} + body: | + This PR updates the latest Solidity release version to ${{ needs.checkSolidityRelease.outputs.latest_release }} + + Auto-generated by ${{ env.BOT_USERNAME }} + branch: solidity-release-updates diff --git a/latest_solidity.release b/latest_solidity.release new file mode 100644 index 0000000..0a08824 --- /dev/null +++ b/latest_solidity.release @@ -0,0 +1 @@ +0.8.24