mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-09-18 08:10:52 -04:00
Skip PR jobs unless the PR carries the 'run-ci' label. Applying a label needs triage access, so a fork PR can't enable the matrix by itself. The 'labeled' trigger type is added so applying the label starts a run immediately; skipped jobs cost no runner minutes. Push, schedule and manual dispatch runs are unaffected. Port of the same change on the 3.5.0 branch.
62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
name: Test rsync on macOS
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths-ignore:
|
|
- '.github/workflows/*.yml'
|
|
- '!.github/workflows/macos-build.yml'
|
|
pull_request:
|
|
types: [opened, synchronize, reopened, labeled]
|
|
paths-ignore:
|
|
- '.github/workflows/*.yml'
|
|
- '!.github/workflows/macos-build.yml'
|
|
schedule:
|
|
- cron: '42 8 * * *'
|
|
|
|
jobs:
|
|
test:
|
|
# temporary gate: PR CI runs only for PRs labeled 'run-ci', to save CI
|
|
# minutes; labels need triage access, so fork PRs can't self-enable.
|
|
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run-ci')
|
|
runs-on: macos-latest
|
|
name: Test rsync on macOS
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: prep
|
|
run: |
|
|
brew install automake openssl xxhash zstd lz4
|
|
pip3 install --user --break-system-packages commonmark
|
|
echo "$(brew --prefix)/bin" >>$GITHUB_PATH
|
|
- name: configure
|
|
run: |
|
|
BREW_PREFIX=$(brew --prefix)
|
|
OPENSSL_PREFIX=$(brew --prefix openssl)
|
|
CPPFLAGS="-I${BREW_PREFIX}/include -I${OPENSSL_PREFIX}/include" \
|
|
LDFLAGS="-L${BREW_PREFIX}/lib -L${OPENSSL_PREFIX}/lib" \
|
|
./configure --with-rrsync
|
|
- name: make
|
|
run: make
|
|
- name: install
|
|
run: sudo make install
|
|
- name: info
|
|
run: rsync --version
|
|
- name: check
|
|
run: sudo RSYNC_EXPECT_SKIPPED=acls-default,chmod-temp-dir,chown-fake,daemon-chroot-acl,devices-fake,dir-sgid,protected-regular,simd-checksum,xattrs-hlink,xattrs make check
|
|
- name: ssl file list
|
|
run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
|
|
- name: save artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: macos-bin
|
|
path: |
|
|
rsync
|
|
rsync-ssl
|
|
rsync.1
|
|
rsync-ssl.1
|
|
rsyncd.conf.5
|
|
rrsync.1
|
|
rrsync
|