Skip to content

Separate out artifacts #346

Separate out artifacts

Separate out artifacts #346

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
build-test:
runs-on: windows-latest
permissions:
contents: write
defaults:
run:
shell: bash --noprofile --norc -e -o pipefail -o igncr {0}
env:
PATH: C:\cygwin\bin
strategy:
matrix:
include:
- name: default
package-list: >
asciidoc
bash-completion
bash-completion-devel
cygport
dblatex
gcc-core
gettext
gettext-devel
gnupg
gnupg2
libcurl-devel
libexpat-devel
libiconv
libiconv-devel
libpcre2-devel
libssl-devel
perl-Authen-SASL
perl-DBD-SQLite
perl-IO-Socket-SSL
perl-IO-Tty
perl-MailTools
perl-Net-SMTP-SSL
perl-TermReadKey
perl-Test-Harness
perl-XML-SAX
perl-YAML
pkg-config
subversion-perl
time
zlib-devel
- name: good # What should be specifically asking for the known-good package combo
package-list: >
asciidoc
bash-completion
bash-completion-devel
cygport=0.36.1-1
dblatex
gcc-core
gettext
gettext-devel
gnupg
gnupg2
libcurl-devel
libexpat-devel
libiconv
libiconv-devel
libpcre2-devel
libssl-devel
make=4.4.1-1
perl-Authen-SASL
perl-DBD-SQLite
perl-IO-Socket-SSL
perl-IO-Tty
perl-MailTools
perl-Net-SMTP-SSL
perl-TermReadKey
perl-Test-Harness
perl-XML-SAX
perl-YAML
pkg-config
python39-attrs=21.2.0-1
python39-babel=2.9.1-1
python39-iniconfig=1.1.1-2
python39-jinja2=3.0.3-1
python39-markupsafe=2.0.1-1
python39-py=1.11.0-1
python39-pytest=6.2.5-2
python39-pytz=2022.7.1-1
python39-setuptools=59.5.0-1
subversion-perl
time
zlib-devel
- name: bad # Explicitly asking for the known-broken packages
package-list: >
asciidoc
bash-completion
bash-completion-devel
cygport=0.36.2-1
dblatex
gcc-core
gettext
gettext-devel
gnupg
gnupg2
libcurl-devel
libexpat-devel
libiconv
libiconv-devel
libpcre2-devel
libssl-devel
make=4.4.1-2
perl-Authen-SASL
perl-DBD-SQLite
perl-IO-Socket-SSL
perl-IO-Tty
perl-MailTools
perl-Net-SMTP-SSL
perl-TermReadKey
perl-Test-Harness
perl-XML-SAX
perl-YAML
pkg-config
python39-babel=2.12.1-1
python39-iniconfig=2.0.0-1
python39-jinja2=3.1.2-1
python39-markupsafe=2.1.2-1
python39-platformdirs=3.1.1-1
python39-pytest=7.3.0-1
python39-setuptools=67.6.0-1
subversion-perl
time
zlib-devel
fail-fast: false
steps:
- name: Install Cygwin build requirements
uses: cygwin/cygwin-install-action@v2
with:
packages: ${{ matrix.package-list }}
site: http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2023/04/13/213636
check-sig: false
timeout-minutes: 30
- name: Manually configure safe.directory
run: git config --global --add safe.directory '*'
timeout-minutes: 1
- name: Checkout
uses: actions/checkout@v3
with:
set-safe-directory: false # actions/checkout otherwise tries to use the wrong config file, per actions/checkout#767
fetch-depth: 0 # Need this to push to Cygwin Git mirror
timeout-minutes: 1
- name: Load variables from the cygport file
run: |
eval "$(cygport git.cygport vars BUILD_REQUIRES PVR)"
printf 'BUILD_REQUIRES=%s\n' "$BUILD_REQUIRES" >>"$GITHUB_ENV"
printf 'PVR=%s\n' "$PVR" >>"$GITHUB_ENV"
timeout-minutes: 1
- name: Generate cygcheck output
if: always()
run: cygcheck -srv >/var/log/cygcheck.out
timeout-minutes: 5
- name: Store Cygwin logs
if: always()
uses: actions/upload-artifact@v3
with:
name: cygwin-logs-${{ matrix.name }}
path: 'C:\cygwin\var\log\'
timeout-minutes: 5
- name: Cygport download
run: cygport git.cygport download
timeout-minutes: 5
- name: Cygport prep
run: cygport git.cygport prep
timeout-minutes: 1
- name: Cygport compile
run: cygport git.cygport compile
timeout-minutes: 30
- name: Cygport test
run: cygport git.cygport test
timeout-minutes: 300
- name: Tar up build results
if: always()
run: tar -caf git-build-results.txz git-*-*.*/
timeout-minutes: 10
- name: Store build results
if: always()
uses: actions/upload-artifact@v2
with:
name: build-results-${{ matrix.name }}
path: git-build-results.txz
if-no-files-found: error
timeout-minutes: 5