name: check on: push: workflow_dispatch: jobs: # Runs on the existing Linux runners. Wakeful links AppKit, IOKit and Carbon, # so this can parse the Swift but not compile it; see the macos job below. lint: runs-on: ubuntu-latest container: image: swift:6.3 steps: # actions/checkout needs Node, which the Swift image doesn't have. - name: Checkout env: TOKEN: ${{ gitea.token }} run: | git config --global --add safe.directory "$PWD" git init -q . auth=$(printf 'x-access-token:%s' "$TOKEN" | base64 | tr -d '\n') git -c http.extraHeader="Authorization: Basic $auth" \ fetch -q --depth=1 "${{ gitea.server_url }}/${{ gitea.repository }}.git" "${{ gitea.sha }}" git checkout -q FETCH_HEAD git log -1 --oneline - name: Check run: scripts/check.sh # A real build. Off until a macOS act_runner with the "macos" label is # registered; then set the repo variable MACOS_RUNNER=true to enable it. macos: if: vars.MACOS_RUNNER == 'true' runs-on: macos steps: - uses: actions/checkout@v4 - name: Check run: scripts/check.sh - name: Build (warnings are errors) run: swift build -c release -Xswiftc -warnings-as-errors - name: Bundle and ad-hoc sign run: | make bundle plutil -lint dist/Wakeful.app/Contents/Info.plist