From 64e700a486e5b0afa1764aa4e4f300f9aeed17e5 Mon Sep 17 00:00:00 2001 From: Alasdair McCall Date: Mon, 16 Feb 2026 18:01:06 +0000 Subject: [PATCH 1/2] manually runnable workflow bug: debug github action --- .github/workflows/alfie.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/alfie.yml b/.github/workflows/alfie.yml index 888da327..4f168ce6 100644 --- a/.github/workflows/alfie.yml +++ b/.github/workflows/alfie.yml @@ -7,7 +7,9 @@ on: pull_request: branches: - - 'main' + - "main" + + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -97,7 +99,7 @@ jobs: SECRETS_GPG_PASSPHRASE: ${{ secrets.SECRETS_GPG_PASSPHRASE }} run: | echo "$SECRETS_GPG_PRIVATE_KEY" | gpg --batch --yes --import - git secret reveal -p "$SECRETS_GPG_PASSPHRASE" + git secret reveal -p "$SECRETS_GPG_PASSPHRASE" -v - name: Run Tests run: bundle exec fastlane ios test --env default From 4e329fae1b330ed1b3cf16a8784d507e24608c89 Mon Sep 17 00:00:00 2001 From: Alasdair McCall Date: Mon, 16 Feb 2026 21:55:45 +0000 Subject: [PATCH 2/2] fix: Configure GPG agent for loopback pinentry in CI Enable loopback pinentry mode for GPG agent to allow non-interactive passphrase input in CI environment. Newer GPG versions require this configuration to accept passphrases via stdin instead of attempting interactive prompts that fail in GitHub Actions runners. Also add workflow_dispatch trigger to allow manual workflow runs... --- .github/workflows/alfie.yml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/alfie.yml b/.github/workflows/alfie.yml index 4f168ce6..a4edaa6e 100644 --- a/.github/workflows/alfie.yml +++ b/.github/workflows/alfie.yml @@ -98,8 +98,17 @@ jobs: SECRETS_GPG_PRIVATE_KEY: ${{ secrets.SECRETS_GPG_PRIVATE_KEY }} SECRETS_GPG_PASSPHRASE: ${{ secrets.SECRETS_GPG_PASSPHRASE }} run: | + git config --global user.email "${{ secrets.GIT_EMAIL }}" + git config --global user.name "${{ secrets.GIT_USER_NAME }}" + mkdir -p ~/.gnupg + chmod 700 ~/.gnupg + echo "allow-loopback-pinentry" > ~/.gnupg/gpg-agent.conf + echo "pinentry-mode loopback" > ~/.gnupg/gpg.conf + chmod 600 ~/.gnupg/gpg-agent.conf + chmod 600 ~/.gnupg/gpg.conf echo "$SECRETS_GPG_PRIVATE_KEY" | gpg --batch --yes --import - git secret reveal -p "$SECRETS_GPG_PASSPHRASE" -v + gpg-connect-agent reloadagent /bye || true + git secret reveal -p "$SECRETS_GPG_PASSPHRASE" - name: Run Tests run: bundle exec fastlane ios test --env default @@ -161,7 +170,16 @@ jobs: SECRETS_GPG_PRIVATE_KEY: ${{ secrets.SECRETS_GPG_PRIVATE_KEY }} SECRETS_GPG_PASSPHRASE: ${{ secrets.SECRETS_GPG_PASSPHRASE }} run: | + git config --global user.email "${{ secrets.GIT_EMAIL }}" + git config --global user.name "${{ secrets.GIT_USER_NAME }}" + mkdir -p ~/.gnupg + chmod 700 ~/.gnupg + echo "allow-loopback-pinentry" > ~/.gnupg/gpg-agent.conf + echo "pinentry-mode loopback" > ~/.gnupg/gpg.conf + chmod 600 ~/.gnupg/gpg-agent.conf + chmod 600 ~/.gnupg/gpg.conf echo "$SECRETS_GPG_PRIVATE_KEY" | gpg --batch --yes --import + gpg-connect-agent reloadagent /bye || true git secret reveal -p "$SECRETS_GPG_PASSPHRASE" - name: Build and deploy release to TestFlight