mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-11-05 19:43:25 -05: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.
60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
name: Test rsync on Cygwin
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths-ignore:
|
|
- '.github/workflows/*.yml'
|
|
- '!.github/workflows/cygwin-build.yml'
|
|
pull_request:
|
|
types: [opened, synchronize, reopened, labeled]
|
|
paths-ignore:
|
|
- '.github/workflows/*.yml'
|
|
- '!.github/workflows/cygwin-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: windows-2022
|
|
name: Test rsync on Cygwin
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: cygwin
|
|
run: choco install -y --no-progress cygwin cyg-get
|
|
- name: prep
|
|
run: |
|
|
cyg-get make autoconf automake gcc-core attr libattr-devel python39 python39-pip libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
|
|
echo "C:/tools/cygwin/bin" >>$Env:GITHUB_PATH
|
|
- name: commonmark
|
|
run: bash -c 'python3 -mpip install --user commonmark'
|
|
- name: configure
|
|
run: bash -c './configure --with-rrsync'
|
|
- name: make
|
|
run: bash -c 'make'
|
|
- name: install
|
|
run: bash -c 'make install'
|
|
- name: info
|
|
run: bash -c '/usr/local/bin/rsync --version'
|
|
- name: check
|
|
run: bash -c 'RSYNC_EXPECT_SKIPPED=acls-default,acls,bare-do-open-symlink-race,chdir-symlink-race,chmod-symlink-race,chown,daemon-chroot-acl,devices,dir-sgid,protected-regular,sender-flist-symlink-leak,simd-checksum,symlink-dirlink-basis make check'
|
|
- name: ssl file list
|
|
run: bash -c 'PATH="/usr/local/bin:$PATH" rsync-ssl --no-motd download.samba.org::rsyncftp/ || true'
|
|
- name: save artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: cygwin-bin
|
|
path: |
|
|
rsync.exe
|
|
rsync-ssl
|
|
rsync.1
|
|
rsync-ssl.1
|
|
rsyncd.conf.5
|
|
rrsync.1
|
|
rrsync
|