Merge branch 'v2.42.0-separate-t0021' into v2.42.0-t1301-disable #376
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
steps: | |
- name: Install Cygwin Git and cygport | |
uses: cygwin/cygwin-install-action@v2 | |
with: | |
packages: git cygport | |
timeout-minutes: 10 | |
- 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: Install Cygwin build requirements | |
uses: cygwin/cygwin-install-action@v2 | |
with: | |
packages: ${{ env.BUILD_REQUIRES }} | |
timeout-minutes: 30 | |
- 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 | |
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: Cygport install | |
run: cygport git.cygport install | |
timeout-minutes: 30 | |
- name: Cygport package | |
run: cygport git.cygport package | |
timeout-minutes: 5 | |
- name: Configure SSH | |
if: github.ref == 'refs/heads/main' | |
env: | |
MAINTAINER_KEY: ${{ secrets.MAINTAINER_KEY }} | |
run: | | |
umask 0077 | |
mkdir -p ~/.ssh | |
echo "$MAINTAINER_KEY" >~/.ssh/id_rsa | |
echo 'cygwin.com,8.43.85.97 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGqrxexIuyqmCVe33p1HuhUFzsXte5QZKb+BJlsRrvXOpUOJEW2S0kszyAiymeV7AXaYmHDKVRJpGVR+0ua0Xww=' >~/.ssh/known_hosts | |
timeout-minutes: 1 | |
- name: Create release tag | |
if: github.ref == 'refs/heads/main' | |
env: | |
GIT_COMMITTER_NAME: ${{ github.actor }} | |
GIT_COMMITTER_EMAIL: ${{ github.actor }}@users.noreply.github.com | |
run: | | |
git tag -am "v${PVR}" "v${PVR}" | |
git push origin tag "v${PVR}" | |
timeout-minutes: 1 | |
- name: Create a GitHub release | |
if: github.ref == 'refs/heads/main' | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: v${{ env.PVR }} | |
files: | | |
git-*/dist/git/* | |
git-*/dist/git/*/* | |
target_commitish: ${{ github.ref }} | |
timeout-minutes: 2 | |
- name: Mirror to Cygwin Git repositories | |
if: github.ref == 'refs/heads/main' | |
run: git push [email protected]:/git/cygwin-packages/git tag "v${PVR}" | |
timeout-minutes: 5 | |
- name: Cygport upload | |
if: github.ref == 'refs/heads/main' | |
run: SSH_KEY=~/.ssh/id_rsa cygport git.cygport upload | |
timeout-minutes: 5 | |
- 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@v3 | |
with: | |
name: build-results | |
path: git-build-results.txz | |
if-no-files-found: error | |
timeout-minutes: 5 |