Skip to content

Add macOS-26 GitHub Actions CI workflow for build + test with detailed test failure logs (damusTests only) - #3762

Merged
danieldaquino merged 9 commits into
masterfrom
copilot/add-github-actions-ci-build
May 14, 2026
Merged

Add macOS-26 GitHub Actions CI workflow for build + test with detailed test failure logs (damusTests only)#3762
danieldaquino merged 9 commits into
masterfrom
copilot/add-github-actions-ci-build

Conversation

Copilot AI commented May 11, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds a GitHub Actions CI workflow to run Damus build/test on a macOS runner for PRs and pushes to main, and incorporates review-driven CI fixes for macos-26 compatibility, better test diagnostics, and test-suite scoping.

  • Workflow scope
    • Adds .github/workflows/ci.yml
    • Triggers on pull_request and push to main
  • Execution model
    • Runs a single build-and-test job on macos-26
    • Executes xcodebuild build and test for scheme damus
    • Uses simulator destination platform=iOS Simulator,name=iPhone 17 to match available simulators on macos-26
    • Keeps -quiet for build, but removes -quiet from test so failed tests print actionable failure details in CI logs
    • Runs only the damusTests suite in CI via -only-testing:damusTests (excludes damusUITests)
  • Security baseline
    • Sets explicit token permissions: contents: read
    • Checks out submodules recursively
jobs:
  build-and-test:
    runs-on: macos-26
    permissions:
      contents: read
    env:
      SCHEME: damus
      DESTINATION: platform=iOS Simulator,name=iPhone 17

Checklist

Warning

Please file an issue or create a ticket for the work in this PR, then link it here.
We use issues and tickets to triage and prioritize work, so PRs without a linked issue/ticket may be delayed.

Experimental Feature Checklist

Tip

This Pull Request is an experimental feature for Damus Labs, and follows a fast-track review process.
The overall requirements are lowered and the review process is not as strict as usual. However, the feature will only be available for Purple users who opt-in.

  • I have read (or I am familiar with) the Contribution Guidelines.
  • I have done some testing on the changes in this PR to ensure it is at least functional.
  • I have filed or linked an existing issue/ticket related to this change.
  • I made sure that this new feature is only available when the user opts-in from the Damus Labs screen, and does not affect the rest of the app when turned off.
  • My PR is either small, or I have split it into smaller logical commits that are easier to review.
  • I have added the signoff line to all my commits. See Signing off your work.
  • I have added an appropriate changelog entry to my commit in this PR. See Adding changelog entries.
    • Example changelog entry: Changelog-Added: Added experimental feature <X> to Damus Labs

Standard PR Checklist

  • I have read (or I am familiar with) the Contribution Guidelines
  • I have tested the changes in this PR
  • I have profiled the changes to ensure there are no performance regressions, or I do not need to profile the changes.
  • I have filed or linked an existing issue/ticket related to this change.
  • I have split the changes into small, reviewable commits.
  • I have added the signoff line to all my commits. See Signing off your work
  • I have added appropriate changelog entries for the changes in this PR. See Adding changelog entries
    • I do not need to add a changelog entry. Reason: CI workflow/configuration-only change.
  • I have added appropriate tags in the commit messages wherever applicable, or made sure those are not needed. See Submitting patches

Test report

Please provide a test report for the changes in this PR. You can use the template below, but feel free to modify it as needed.

Device: N/A (CI workflow change)

iOS: N/A

Damus: 8df0d38

Setup: Workflow YAML and PR automation validation only.

Steps: Add workflow, apply review-driven updates (macos-26 runner, simulator destination compatibility, verbose test logging, and restricting CI test execution to damusTests), inspect latest failed CI logs, validate YAML parse, run automated PR review + CodeQL checks.

Results:

  • PASS
  • Partial PASS
    • Details: Static/config validation passed; CI root causes identified and addressed; test step now emits detailed failure output and runs only damusTests; local xcodebuild execution unavailable in this sandbox.

Other notes

Kept scope intentionally narrow to one workflow file and minimal permissions, with compatibility, diagnostics, and test-scope updates required for the macos-26 runner image.

Copilot AI and others added 4 commits May 11, 2026 22:23
Agent-Logs-Url: https://github.com/damus-io/damus/sessions/d169bda9-36cc-4e09-b923-8928813b253f

Co-authored-by: danieldaquino <24692108+danieldaquino@users.noreply.github.com>
Agent-Logs-Url: https://github.com/damus-io/damus/sessions/d169bda9-36cc-4e09-b923-8928813b253f

Co-authored-by: danieldaquino <24692108+danieldaquino@users.noreply.github.com>
Agent-Logs-Url: https://github.com/damus-io/damus/sessions/d169bda9-36cc-4e09-b923-8928813b253f

Co-authored-by: danieldaquino <24692108+danieldaquino@users.noreply.github.com>
Copilot AI changed the title [WIP] Add GitHub actions CI build and test on macos image Add macOS GitHub Actions CI workflow for build + test May 11, 2026
Copilot AI requested a review from danieldaquino May 11, 2026 22:26
@danieldaquino
danieldaquino marked this pull request as ready for review May 11, 2026 22:36
@danieldaquino

Copy link
Copy Markdown
Collaborator

@copilot use macos-26 image

Agent-Logs-Url: https://github.com/damus-io/damus/sessions/77709547-560e-4b76-a71d-432dae79cdd6

Co-authored-by: danieldaquino <24692108+danieldaquino@users.noreply.github.com>

Copilot AI commented May 11, 2026

Copy link
Copy Markdown
Contributor Author

@copilot use macos-26 image

Updated the workflow to use macos-26 for the CI job in commit fe2a656.

Copilot AI changed the title Add macOS GitHub Actions CI workflow for build + test Add macOS-26 GitHub Actions CI workflow for build + test May 11, 2026
@danieldaquino

Copy link
Copy Markdown
Collaborator

@copilot look at the latest failed CI results and fix.

Agent-Logs-Url: https://github.com/damus-io/damus/sessions/ceca9226-32b9-417c-baf8-089343cd2085

Co-authored-by: danieldaquino <24692108+danieldaquino@users.noreply.github.com>

Copilot AI commented May 11, 2026

Copy link
Copy Markdown
Contributor Author

@copilot look at the latest failed CI results and fix.

I checked the latest failed CI run and fixed it in f596700 by updating the simulator destination to platform=iOS Simulator,name=iPhone 17, which exists on the macos-26 runner image.

@danieldaquino

Copy link
Copy Markdown
Collaborator

@copilot the test fails without providing information about the test failures. Please fix so that details of the test failures are provided.

Agent-Logs-Url: https://github.com/damus-io/damus/sessions/1042e242-bb3c-4d7b-bd54-8fa3483529f8

Co-authored-by: danieldaquino <24692108+danieldaquino@users.noreply.github.com>

Copilot AI commented May 11, 2026

Copy link
Copy Markdown
Contributor Author

@copilot the test fails without providing information about the test failures. Please fix so that details of the test failures are provided.

Fixed in fb917ca: I removed -quiet from the CI xcodebuild ... test step so failed tests now emit detailed failure output in the workflow logs.

Copilot AI changed the title Add macOS-26 GitHub Actions CI workflow for build + test Add macOS-26 GitHub Actions CI workflow for build + test with detailed test failure logs May 11, 2026
@danieldaquino

Copy link
Copy Markdown
Collaborator

@copilot, reconfigure things to run only the damusTests suite, and not the damusUITests suite

Agent-Logs-Url: https://github.com/damus-io/damus/sessions/2bfdd455-5942-4171-85fc-f9c65728f1d1

Co-authored-by: danieldaquino <24692108+danieldaquino@users.noreply.github.com>

Copilot AI commented May 13, 2026

Copy link
Copy Markdown
Contributor Author

@copilot, reconfigure things to run only the damusTests suite, and not the damusUITests suite

Done in 8df0d38: CI now runs only the damusTests suite by adding -only-testing:damusTests to the xcodebuild test step, so damusUITests are not run in this workflow.

Copilot AI changed the title Add macOS-26 GitHub Actions CI workflow for build + test with detailed test failure logs Add macOS-26 GitHub Actions CI workflow for build + test with detailed test failure logs (damusTests only) May 13, 2026
@danieldaquino
danieldaquino merged commit 5bc13d6 into master May 14, 2026
1 check failed
@danieldaquino
danieldaquino deleted the copilot/add-github-actions-ci-build branch May 14, 2026 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Github actions CI build and test on macos image

2 participants