From 3fe8965a9eea8046f2dd6698bb5e39aa772d9c13 Mon Sep 17 00:00:00 2001 From: Chuck Grindel Date: Wed, 12 Jan 2022 14:52:57 -0700 Subject: [PATCH 1/5] Added release targets. --- release/BUILD.bazel | 29 ++++++++++++++++++++++ release/workspace_snippet.tmpl | 44 ++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 release/BUILD.bazel create mode 100644 release/workspace_snippet.tmpl diff --git a/release/BUILD.bazel b/release/BUILD.bazel new file mode 100644 index 0000000..1515eab --- /dev/null +++ b/release/BUILD.bazel @@ -0,0 +1,29 @@ +load( + "@cgrindel_bazel_starlib//bzlrelease:defs.bzl", + "create_release", + "generate_release_notes", + "generate_workspace_snippet", + "update_readme", +) + +# MARK: - Release + +generate_workspace_snippet( + name = "generate_workspace_snippet", + template = "workspace_snippet.tmpl", +) + +generate_release_notes( + name = "generate_release_notes", + generate_workspace_snippet = ":generate_workspace_snippet", +) + +update_readme( + name = "update_readme", + generate_workspace_snippet = ":generate_workspace_snippet", +) + +create_release( + name = "create", + workflow_name = "Create Release", +) diff --git a/release/workspace_snippet.tmpl b/release/workspace_snippet.tmpl new file mode 100644 index 0000000..2f81150 --- /dev/null +++ b/release/workspace_snippet.tmpl @@ -0,0 +1,44 @@ +# Download and configure rules_swiftformat. + +${http_archive_statement} + +load("@cgrindel_rules_swiftformat//swiftformat:deps.bzl", "swiftformat_rules_dependencies") + +swiftformat_rules_dependencies() + +# Configure the dependencies for rules_swiftformat + +load( + "@cgrindel_bazel_starlib//:deps.bzl", + "bazel_starlib_dependencies", +) + +bazel_starlib_dependencies() + +load( + "@cgrindel_rules_spm//spm:deps.bzl", + "spm_rules_dependencies", +) + +spm_rules_dependencies() + +load( + "@build_bazel_rules_swift//swift:repositories.bzl", + "swift_rules_dependencies", +) + +swift_rules_dependencies() + +load( + "@build_bazel_rules_swift//swift:extras.bzl", + "swift_rules_extra_dependencies", +) + +swift_rules_extra_dependencies() + +# We are using rules_spm to download and build SwiftFormat. The following will configure +# rules_spm to do that. + +load("@cgrindel_rules_swiftformat//swiftformat:load_package.bzl", "swiftformat_load_package") + +swiftformat_load_package() From 5d0a7915a5114396bd3e5f37d1e90b90e1007701 Mon Sep 17 00:00:00 2001 From: Chuck Grindel Date: Wed, 12 Jan 2022 14:53:58 -0700 Subject: [PATCH 2/5] Added markers to README.md. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 66143e6..5951b66 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ out [the documentation](/doc/) and [the examples](/examples/) for more informati Add the following to your `WORKSPACE` file to add this repository and its dependencies. + ```python - # Download and configure rules_swiftformat. http_archive( @@ -78,6 +78,7 @@ load("@cgrindel_rules_swiftformat//swiftformat:load_package.bzl", "swiftformat_l swiftformat_load_package() ``` + ### 2. Update the `BUILD.bazel` at the root of your workspace From 9594f542d0b01582fa749aa593b14af02b90b3c8 Mon Sep 17 00:00:00 2001 From: Chuck Grindel Date: Wed, 12 Jan 2022 14:57:25 -0700 Subject: [PATCH 3/5] Added create_release.yml. --- .github/workflows/create_release.yml | 45 ++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/create_release.yml diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml new file mode 100644 index 0000000..4298e1b --- /dev/null +++ b/.github/workflows/create_release.yml @@ -0,0 +1,45 @@ +name: Create Release + +on: + workflow_dispatch: + inputs: + release_tag: + required: true + type: string + reset_tag: + type: boolean + default: false + base_branch: + description: The branch being merged to. + type: string + default: main + +jobs: + create_release: + runs-on: ubuntu-latest + env: + CC: clang + + steps: + + # Check out your code + - uses: actions/checkout@v2 + + # Generate a token that has permssions to create a release and create PRs. + - uses: tibdex/github-app-token@v1 + id: generate_token + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} + + # Configure the git user for the repository + - uses: cgrindel/gha_configure_git_user@v1 + + # Create the release + - uses: cgrindel/gha_create_release@v1 + with: + release_tag: ${{ github.event.inputs.release_tag }} + reset_tag: ${{ github.event.inputs.reset_tag }} + base_branch: ${{ github.event.inputs.base_branch }} + github_token: ${{ steps.generate_token.outputs.token }} + From 56a33163c23f0a1a6c00b6c52a32bfc9298e3c20 Mon Sep 17 00:00:00 2001 From: Chuck Grindel Date: Wed, 12 Jan 2022 14:58:54 -0700 Subject: [PATCH 4/5] Renamed CI workflow and updated to use set_up_bazel action. --- .github/workflows/{bazel.yml => ci.yml} | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) rename .github/workflows/{bazel.yml => ci.yml} (82%) diff --git a/.github/workflows/bazel.yml b/.github/workflows/ci.yml similarity index 82% rename from .github/workflows/bazel.yml rename to .github/workflows/ci.yml index d12ba88..e749a7b 100644 --- a/.github/workflows/bazel.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Build +name: CI for PR Merge on: pull_request: @@ -12,17 +12,9 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Write local.bazelrc File - shell: bash - run: | - cat >local.bazelrc < Date: Wed, 12 Jan 2022 15:19:18 -0700 Subject: [PATCH 5/5] Applied bzlformat. --- release/BUILD.bazel | 3 +++ 1 file changed, 3 insertions(+) diff --git a/release/BUILD.bazel b/release/BUILD.bazel index 1515eab..b4391b7 100644 --- a/release/BUILD.bazel +++ b/release/BUILD.bazel @@ -1,3 +1,4 @@ +load("@cgrindel_bazel_starlib//bzlformat:defs.bzl", "bzlformat_pkg") load( "@cgrindel_bazel_starlib//bzlrelease:defs.bzl", "create_release", @@ -27,3 +28,5 @@ create_release( name = "create", workflow_name = "Create Release", ) + +bzlformat_pkg(name = "bzlformat")