Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
14 changes: 0 additions & 14 deletions .github/release.yml

This file was deleted.

31 changes: 0 additions & 31 deletions .github/workflows/main.yml

This file was deleted.

65 changes: 0 additions & 65 deletions .github/workflows/pull_request.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/pull_request_label.yml

This file was deleted.

74 changes: 74 additions & 0 deletions .github/workflows/swift-ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: CI

on:
push:
branches: [beta]
paths:
- 'Package.swift'
- 'Package@swift-*.swift'
- 'Sources/**'
- 'Tests/**'
- '.swift-format'
pull_request:
branches: [beta]
paths:
- 'Package.swift'
- 'Package@swift-*.swift'
- 'Sources/**'
- 'Tests/**'
- '.swift-format'
- '.github/workflows/swift-ci.yaml'

# Cancel any in-progress or queued run for the same ref when a new run is
# triggered (e.g. new push), so stale xcodebuild/swift test processes don't
# keep running and don't sit blocking the queue. Pushes to beta use
# github.run_id so each run gets its own group instead of sharing one by
# ref — sharing by ref there can make cancel-in-progress try to cancel a
# run against itself while it's inside the reusable "Swift CI" workflow,
# which GitHub Actions reports as a concurrency deadlock.
concurrency:
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/beta' && github.run_id || github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
ci:
name: "Swift CI"
# TODO: aponta para a branch de teste do request-dl/.github. Trocar para
# `@main` assim que essa branch for mergeada lá.
uses: request-dl/.github/.github/workflows/swift-ci.yaml@claude/proposal-release-builds-static-sdk-d53aed
with:
name: async-http-client
product-name: AsyncHTTPClient
swift-version: '6.2'

# Step 1 – Format
enable-format: true
format-swift-version: '6.3'

# Step 2 – Breaking Changes
enable-breaking-changes: true
skip-on-major-update: true
force-skip-breaking-changes: ${{ contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }}

# Step 3 – Apple
enable-apple-tests: true
package-name: "async-http-client"

# Step 3 – Third Party (Linux)
enable-third-party-tests: true

# Step 3 – Linkage Test (FoundationEssentials)
enable-linkage-test: true

# Step 3 – Release Builds
enable-release-builds: true
release-builds-swift-versions: '["6.1", "6.2", "6.3"]'

# Step 3 – Static SDK
# Seguro aqui: NIOTransportServices é condicionado a plataformas Apple
# em Package.swift, não é puxado incondicionalmente no Linux.
enable-static-sdk: true

# Step 4 – Coverage Upload (desligado)
enable-coverage-upload: false
secrets: inherit
Loading