diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 481093b36..2528ebf6f 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -41,30 +41,30 @@ jobs: swift_syntax_tag: ${{ steps.swift_syntax_tag.outputs.swift_syntax_tag }} swift_format_version: ${{ steps.swift_format_version.outputs.swift_format_version }} steps: - - name: Determine swift-syntax tag to depend on - id: swift_syntax_tag - shell: bash - run: | - if [[ "${{ github.event.inputs.prerelease }}" == "false" ]]; then - SWIFT_SYNTAX_TAG="${{ github.event.inputs.swift_syntax_tag }}" - else - git clone https://github.com/swiftlang/swift-syntax.git - cd swift-syntax - SWIFT_SYNTAX_TAG="$(git tag | grep ${{ github.event.inputs.swift_syntax_tag }}-prerelease | sort -r | head -1)" - fi + - name: Determine swift-syntax tag to depend on + id: swift_syntax_tag + shell: bash + run: | + if [[ "${{ github.event.inputs.prerelease }}" == "false" ]]; then + SWIFT_SYNTAX_TAG="${{ github.event.inputs.swift_syntax_tag }}" + else + git clone https://github.com/swiftlang/swift-syntax.git + cd swift-syntax + SWIFT_SYNTAX_TAG="$(git tag | grep ${{ github.event.inputs.swift_syntax_tag }}-prerelease | sort -r | head -1)" + fi - echo "Using swift-syntax tag: $SWIFT_SYNTAX_TAG" - echo "swift_syntax_tag=$SWIFT_SYNTAX_TAG" >> "$GITHUB_OUTPUT" - - name: Determine swift-format prerelease version - id: swift_format_version - run: | - if [[ "${{ github.event.inputs.prerelease }}" == "false" ]]; then - SWIFT_FORMAT_VERSION="${{ github.event.inputs.swift_format_version }}" - else - SWIFT_FORMAT_VERSION="${{ github.event.inputs.swift_format_version }}-prerelease-$(date +'%Y-%m-%d')" - fi - echo "Using swift-format version: $SWIFT_FORMAT_VERSION" - echo "swift_format_version=$SWIFT_FORMAT_VERSION" >> "$GITHUB_OUTPUT" + echo "Using swift-syntax tag: $SWIFT_SYNTAX_TAG" + echo "swift_syntax_tag=$SWIFT_SYNTAX_TAG" >> "$GITHUB_OUTPUT" + - name: Determine swift-format prerelease version + id: swift_format_version + run: | + if [[ "${{ github.event.inputs.prerelease }}" == "false" ]]; then + SWIFT_FORMAT_VERSION="${{ github.event.inputs.swift_format_version }}" + else + SWIFT_FORMAT_VERSION="${{ github.event.inputs.swift_format_version }}-prerelease-$(date +'%Y-%m-%d')" + fi + echo "Using swift-format version: $SWIFT_FORMAT_VERSION" + echo "swift_format_version=$SWIFT_FORMAT_VERSION" >> "$GITHUB_OUTPUT" test_debug: name: Test in Debug configuration uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main @@ -88,23 +88,22 @@ jobs: permissions: contents: write steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Create release commits - run: bash .github/workflows/create-release-commits.sh '${{ needs.define_tags.outputs.swift_syntax_tag }}' '${{ needs.define_tags.outputs.swift_format_version }}' - - name: Tag release - run: | - git tag "${{ needs.define_tags.outputs.swift_format_version }}" - git push origin "${{ needs.define_tags.outputs.swift_format_version }}" - - name: Create release - env: - GH_TOKEN: ${{ github.token }} - run: | - if [[ "${{ github.event.inputs.prerelease }}" != "true" ]]; then - # Only create a release automatically for prereleases. For real releases, release notes should be crafted by hand. - exit - fi - gh release create "${{ needs.define_tags.outputs.swift_format_version }}" \ - --title "${{ needs.define_tags.outputs.swift_format_version }}" \ - --prerelease - + - name: Checkout repository + uses: actions/checkout@v4 + - name: Create release commits + run: bash .github/workflows/create-release-commits.sh '${{ needs.define_tags.outputs.swift_syntax_tag }}' '${{ needs.define_tags.outputs.swift_format_version }}' + - name: Tag release + run: | + git tag "${{ needs.define_tags.outputs.swift_format_version }}" + git push origin "${{ needs.define_tags.outputs.swift_format_version }}" + - name: Create release + env: + GH_TOKEN: ${{ github.token }} + run: | + if [[ "${{ github.event.inputs.prerelease }}" != "true" ]]; then + # Only create a release automatically for prereleases. For real releases, release notes should be crafted by hand. + exit + fi + gh release create "${{ needs.define_tags.outputs.swift_format_version }}" \ + --title "${{ needs.define_tags.outputs.swift_format_version }}" \ + --prerelease