Skip to content

WIP: update GitHub workflow to use cyd #4345

WIP: update GitHub workflow to use cyd

WIP: update GitHub workflow to use cyd #4345

Workflow file for this run

name: Cyrus IMAP CI
on:
workflow_dispatch:
push:
branches:
- master
- main
- 'cyrus-imapd-*'
pull_request:
branches:
- master
- main
- 'cyrus-imapd-*'
env:
CYRUS_CLONE_ROOT: ${{ github.workspace }}
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/cyrusimap/cyrus-docker:alt-dir
options: --init
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: setup git safe directory
shell: bash
run: git config --global --add safe.directory /__w/cyrus-imapd/cyrus-imapd
- name: fetch upstream release tags
# if: ${{ github.repository != 'cyrusimap/cyrus-imapd' }}
shell: bash
run: |
git remote add upstream https://github.com/cyrusimap/cyrus-imapd.git
# n.b. --no-tags does not mean "no tags", it means "no automatic tag
# following". we're explicitly fetching the tags we want, we do not
# need every other tag that's reachable from them
git fetch --no-tags upstream 'refs/tags/cyrus-imapd-*:refs/tags/cyrus-imapd-*'
- name: configure and build
shell: bash
run: cyd build
- name: report version information
shell: bash
run: |
echo "debian" $(cat /etc/debian_version)
echo "Mail::IMAPTalk" $(cpanm --info Mail::IMAPTalk)
/usr/cyrus/libexec/master -V
/usr/cyrus/sbin/cyr_buildinfo
- name: run cassandane quietly
id: cass1
continue-on-error: true
# We haven't figured out how to make Test::Core work in actions yet.
run: cyd test "!Test::Core"
- name: rerun cassandane failures noisily
if: ${{ steps.cass1.outcome == 'failure' }}
run: cyd test --no-slow -f pretty --rerun
- name: collect logs
if: always()
run: cat /tmp/cass/*/conf/log/syslog