Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
[CI] GitHub Actions support for PR testing and automerger
  • Loading branch information
shahmishal committed Nov 14, 2025
commit 742254d9bf6d219401349c82264b60524a782b6e
23 changes: 23 additions & 0 deletions .github/workflows/automerge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Create PR to merge release into main branch
# In the first period after branching the release branch,
# we typically want to include many changes from `main` in the release branch.
# This workflow automatically creates a PR to merge the release branch into the main.
# Later in the release cycle we should stop this practice to avoid landing risky changes by disabling this workflow.
# To do so, disable the workflow as described in https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/disabling-and-enabling-a-workflow
permissions:
contents: read
on:
schedule:
- cron: '0 9 * * MON'
workflow_dispatch:
jobs:
create_merge_pr:
name: Create PR to merge release into main branch
uses: swiftlang/github-workflows/.github/workflows/create_automerge_pr.yml@main
with:
head_branch: release/6.3
base_branch: main
permissions:
contents: write
pull-requests: write
if: (github.event_name == 'schedule' && github.repository == 'swiftlang/swift-tools-support-core') || (github.event_name != 'schedule') # Ensure that we don't run this on a schedule in a fork
36 changes: 36 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Pull request

permissions:
contents: read

on:
pull_request:
types: [opened, reopened, synchronize]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
tests:
name: Test
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main
with:
linux_os_versions: '["amazonlinux2", "bookworm", "noble", "jammy", "rhel-ubi9"]'
linux_swift_versions: '["nightly-main", "nightly-6.2"]'
windows_swift_versions: '["nightly-main"]'
enable_linux_static_sdk_build: true
enable_android_sdk_build: true
android_sdk_build_command: "swift build --build-tests"
android_ndk_versions: '["r27d", "r29"]'
enable_ios_checks: true
enable_macos_checks: true
macos_exclude_xcode_versions: "[{\"xcode_version\": \"16.3\"}, {\"xcode_version\": \"16.4\"}]"

soundness:
name: Soundness
uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main
with:
license_header_check_project_name: "Swift"
api_breakage_check_enabled: false
format_check_enabled: false
Loading