feat: report the GitHub login a credential was signed in for #18
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Build and test on every push to main and every pull request. | |
| # | |
| # Runs inside the official Swift container for Ubuntu 24.04 (noble) rather than on the | |
| # runner's own OS: Swift toolchains are built against noble's libraries (libxml2.so.2, | |
| # ICU 74), and newer Ubuntu images ship incompatible sonames. The container pins the | |
| # whole userland to what the toolchain expects. | |
| # | |
| # There is no service container here, unlike stele-pages' CI. Every decision the CLI makes | |
| # lives in SteleKit as a pure function over injected inputs — the home directory, the | |
| # environment, a response body — so the suite needs the toolchain and nothing else. If a | |
| # test ever needs a live server, that is the signal that logic has leaked into the | |
| # executable target. | |
| name: CI | |
| # Only run when something the build actually consumes changes. The workflow file | |
| # itself is on the list so edits to the CI still get exercised by the CI. If this | |
| # check ever becomes required by branch protection, drop the filters — a required | |
| # check that is skipped by a path filter leaves the PR blocked forever. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'Sources/**' | |
| - 'Tests/**' | |
| - 'Package.swift' | |
| - 'Package.resolved' | |
| - '.github/workflows/ci.yml' | |
| pull_request: | |
| paths: | |
| - 'Sources/**' | |
| - 'Tests/**' | |
| - 'Package.swift' | |
| - 'Package.resolved' | |
| - '.github/workflows/ci.yml' | |
| # A force-push or rapid follow-up commit obsoletes the running build; finish only the | |
| # newest one per ref. | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-test: | |
| name: build and test | |
| runs-on: ubuntu-latest | |
| container: swift:6.3-noble | |
| steps: | |
| - uses: actions/checkout@v7 | |
| # The container runs as root while the checkout is owned by another uid, so git | |
| # refuses to touch the repo until it is marked safe — and SwiftPM shells out to | |
| # git during dependency resolution. | |
| - name: Trust the workspace | |
| run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| # Keyed on Package.resolved so dependency bumps rebuild from scratch while | |
| # source-only changes reuse the compiled dependency graph. | |
| - name: Cache dependencies | |
| uses: actions/cache@v6 | |
| with: | |
| path: .build | |
| key: spm-${{ hashFiles('Package.resolved') }} | |
| restore-keys: spm- | |
| # Split from the test run so a compile failure is distinguishable from a failing | |
| # assertion in the job summary. | |
| - name: Build | |
| run: swift build --build-tests | |
| - name: Test | |
| run: swift test --skip-build |