Subject: [PATCH v3 0/6] ci: replace our Azure Pipeline by GitHub Actions

From: Đoàn Trần Công Danh <[email-masked]>
Date: Thu, 2 Apr 2020 20:16:54 +0700

This series is based on work started by Dscho,
I started to work with this series since there're merge conflicts
with my series at dd/ci-musl-lib, and Dscho said he was busy for a while.

Changes from v3:
* Base on v3 of dd/ci-musl-libc (submited)
* linux32 and linux-musl jobs' structure is the same with linux-gcc and
  linux-clang, they will be run inside container instead of vm:
  + they will install dependencies in separate step by common script
  + they will run ci/run-build-and-tests
* StaticAnalysis job will use ci/install-dependencies to install

Changes in v2 frome Dscho's version:
* Based on dd/ci-musl-libc
* Move artifact extraction out of Test phase of windows-test
* Move ci/print-test-failures.sh out of build-and-test phase
* set TERM environment variable if not exist
* add linux-musl job
* v1 doesn't report failure on linux32, fixed
* run linux32 directly inside container
* install development file of curl in documentation job because "curl-config"
  will be called in pu's Makefile
  + Other approach could be call make CURL_CONFIG=: in test-documentation.sh

Sample run without busybox fix:
https://github.com/sgn/git/actions/runs/69030441

Merged into old pu:
https://github.com/sgn/git/actions/runs/69048780

Johannes Schindelin (4):
  ci/lib: if CI type is unknown, show the environment variables
  ci/lib: allow running in GitHub Actions
  README: add a build badge for the GitHub Actions runs
  ci: retire the Azure Pipelines definition

Đoàn Trần Công Danh (2):
  ci/lib: set TERM environment variable if not exist
  ci: configure GitHub Actions for CI/PR

 .github/workflows/main.yml | 314 ++++++++++++++++++++
 README.md                  |   2 +-
 azure-pipelines.yml        | 593 -------------------------------------
 ci/lib.sh                  |  24 +-
 4 files changed, 338 insertions(+), 595 deletions(-)
 create mode 100644 .github/workflows/main.yml
 delete mode 100644 azure-pipelines.yml

Range-diff against v2:
1:  4cc17cfe43 = 1:  3f9f1c6335 ci/lib: if CI type is unknown, show the environment variables
2:  e7e52d5d4c = 2:  7a4f646bc1 ci/lib: allow running in GitHub Actions
3:  043f6be3ee = 3:  9a03c0844c ci/lib: set TERM environment variable if not exist
4:  834b0f73b0 ! 4:  7308199e24 ci: configure GitHub Actions for CI/PR
    @@ .github/workflows/main.yml (new)
     +    container: alpine
     +    steps:
     +    - uses: actions/checkout@v1
    -+    - name: install additional dependencies
    -+      run: apk add --update ncurses perl-utils
    -+    - name: prepare /usr/src/git
    -+      run: |
    -+        mkdir -p /usr/src &&
    -+        rm -rf /usr/src/git &&
    -+        ln -sf $(pwd) /usr/src/git
    -+    - name: ci/run-alpine-build.sh
    -+      run: ci/run-alpine-build.sh $(id -u)
    ++    - name: install dependencies
    ++      env:
    ++        jobname: linux-musl
    ++      run: ci/install-docker-dependencies.sh
    ++    - name: ci/run-build-and-tests.sh
    ++      env:
    ++        jobname: linux-musl
    ++      run: ci/run-build-and-tests.sh
     +    - name: ci/print-test-failures.sh
     +      if: failure()
     +      run: ci/print-test-failures.sh
    @@ .github/workflows/main.yml (new)
     +    container: daald/ubuntu32:xenial
     +    steps:
     +    - uses: actions/checkout@v1
    -+    - name: prepare /usr/src/git
    -+      run:
    -+        mkdir -p /usr/src &&
    -+        rm -rf /usr/src/git &&
    -+        ln -sf $(pwd) /usr/src/git
    -+    - name: ci/run-linux32-build.sh
    -+      run: ci/run-linux32-build.sh $(id -u)
    ++    - name: install dependencies
    ++      env:
    ++        jobname: Linux32
    ++      run: ci/install-docker-dependencies.sh
    ++    - name: ci/run-build-and-tests.sh
    ++      env:
    ++        jobname: Linux32
    ++      run: ci/run-build-and-tests.sh
     +    - name: ci/print-test-failures.sh
     +      if: failure()
     +      run: ci/print-test-failures.sh
    @@ .github/workflows/main.yml (new)
     +    steps:
     +    - uses: actions/checkout@v1
     +    - name: install dependencies
    -+      run: |
    -+        sudo apt-get update &&
    -+        sudo apt-get install -y coccinelle libcurl4-openssl-dev libssl-dev libexpat-dev gettext
    ++      env:
    ++        jobname: StaticAnalysis
    ++      run: ci/install-dependencies.sh
     +    - name: ci/run-static-analysis.sh
     +      env:
     +        jobname: StaticAnalysis
5:  0d14645c32 = 5:  365ba5e831 README: add a build badge for the GitHub Actions runs
6:  87abc123b0 = 6:  53094612d3 ci: retire the Azure Pipelines definition
-- 
2.26.0.334.g6536db25bb