name: Validation (test + coverage) on: push: branches-ignore: - develop - release - main jobs: test: runs-on: macos-build steps: - name: Checkout repository (workaround - Gitea git-upload-pack bug, see go-gitea/gitea#21819) run: | curl -sSfL -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -o /tmp/repo.tar.gz \ "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/archive/${{ github.sha }}.tar.gz" tar -xzf /tmp/repo.tar.gz --strip-components=1 -C "$GITHUB_WORKSPACE" - name: Prune orphaned simulators (shared runner, avoids stale-UDID boot failures) run: xcrun simctl delete unavailable || true - name: Run tests with coverage run: fastlane tests - name: Email notification if: always() env: SMTP_USER: ${{ secrets.SMTP_USER }} SMTP_PASS: ${{ secrets.SMTP_PASS }} NOTIFY_EMAIL_TO: ${{ secrets.NOTIFY_EMAIL_TO }} run: | STATUS="${{ job.status }}" WORKFLOW="${{ github.workflow }}" JOB="${{ github.job }}" BRANCH="${{ github.ref_name }}" COMMIT="${{ github.sha }}" COMMIT_SHORT="${COMMIT:0:7}" RUN_URL="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" YEAR="$(date +%Y)" if [ "$STATUS" = "success" ]; then BADGE_BG="#dcfce7"; BADGE_FG="#166534"; BADGE_LABEL="SUCESSO"; TITLE="Pipeline concluído com sucesso" else BADGE_BG="#fee2e2"; BADGE_FG="#991b1b"; BADGE_LABEL="FALHA"; TITLE="Pipeline falhou" fi SUBJECT="[PediFoods CI] ${BADGE_LABEL} - ${WORKFLOW}" HTML_BODY=$(cat < ${SUBJECT}
Atomenta
${BADGE_LABEL}

${TITLE}

Workflow:${WORKFLOW}
Job:${JOB}
Branch:${BRANCH}
Commit:${COMMIT_SHORT}
© ${YEAR} Atomenta
HTMLEOF ) { printf 'From: Atomenta CI <%s>\r\n' "$SMTP_USER" printf 'To: %s\r\n' "$NOTIFY_EMAIL_TO" printf 'Subject: %s\r\n' "$SUBJECT" printf 'MIME-Version: 1.0\r\n' printf 'Content-Type: text/html; charset=UTF-8\r\n' printf '\r\n' printf '%s\r\n' "$HTML_BODY" } | curl --silent --show-error \ --url "smtp://mail.loverde.com.br:587" \ --ssl-reqd \ --mail-from "$SMTP_USER" \ --mail-rcpt "$NOTIFY_EMAIL_TO" \ --user "$SMTP_USER:$SMTP_PASS" \ --upload-file - || true