about summary refs log tree commit diff
path: root/third_party/git/.github/workflows/main.yml
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-09-21T10·03+0300
committerVincent Ambo <mail@tazj.in>2021-09-21T11·29+0300
commit43b1791ec601732ac31195df96781a848360a9ac (patch)
treedaae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/.github/workflows/main.yml
parent2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff)
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/.github/workflows/main.yml')
-rw-r--r--third_party/git/.github/workflows/main.yml350
1 files changed, 0 insertions, 350 deletions
diff --git a/third_party/git/.github/workflows/main.yml b/third_party/git/.github/workflows/main.yml
deleted file mode 100644
index a940997f1b66..000000000000
--- a/third_party/git/.github/workflows/main.yml
+++ /dev/null
@@ -1,350 +0,0 @@
-name: CI/PR
-
-on: [push, pull_request]
-
-env:
-  DEVELOPER: 1
-
-jobs:
-  ci-config:
-    runs-on: ubuntu-latest
-    outputs:
-      enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
-    steps:
-      - name: try to clone ci-config branch
-        run: |
-          git -c protocol.version=2 clone \
-            --no-tags \
-            --single-branch \
-            -b ci-config \
-            --depth 1 \
-            --no-checkout \
-            --filter=blob:none \
-            https://github.com/${{ github.repository }} \
-            config-repo &&
-          cd config-repo &&
-          git checkout HEAD -- ci/config || : ignore
-      - id: check-ref
-        name: check whether CI is enabled for ref
-        run: |
-          enabled=yes
-          if test -x config-repo/ci/config/allow-ref &&
-             ! config-repo/ci/config/allow-ref '${{ github.ref }}'
-          then
-            enabled=no
-          fi
-          echo "::set-output name=enabled::$enabled"
-      - name: skip if the commit or tree was already tested
-        id: skip-if-redundant
-        uses: actions/github-script@v3
-        if: steps.check-ref.outputs.enabled == 'yes'
-        with:
-          github-token: ${{secrets.GITHUB_TOKEN}}
-          script: |
-            // Figure out workflow ID, commit and tree
-            const { data: run } = await github.actions.getWorkflowRun({
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-              run_id: context.runId,
-            });
-            const workflow_id = run.workflow_id;
-            const head_sha = run.head_sha;
-            const tree_id = run.head_commit.tree_id;
-
-            // See whether there is a successful run for that commit or tree
-            const { data: runs } = await github.actions.listWorkflowRuns({
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-              per_page: 500,
-              status: 'success',
-              workflow_id,
-            });
-            for (const run of runs.workflow_runs) {
-              if (head_sha === run.head_sha) {
-                core.warning(`Successful run for the commit ${head_sha}: ${run.html_url}`);
-                core.setOutput('enabled', ' but skip');
-                break;
-              }
-              if (tree_id === run.head_commit.tree_id) {
-                core.warning(`Successful run for the tree ${tree_id}: ${run.html_url}`);
-                core.setOutput('enabled', ' but skip');
-                break;
-              }
-            }
-
-  windows-build:
-    needs: ci-config
-    if: needs.ci-config.outputs.enabled == 'yes'
-    runs-on: windows-latest
-    steps:
-    - uses: actions/checkout@v1
-    - name: download git-sdk-64-minimal
-      shell: bash
-      run: |
-        ## Get artifact
-        urlbase=https://dev.azure.com/git-for-windows/git/_apis/build/builds
-        id=$(curl "$urlbase?definitions=22&statusFilter=completed&resultFilter=succeeded&\$top=1" |
-          jq -r ".value[] | .id")
-        download_url="$(curl "$urlbase/$id/artifacts" |
-          jq -r '.value[] | select(.name == "git-sdk-64-minimal").resource.downloadUrl')"
-        curl --connect-timeout 10 --retry 5 --retry-delay 0 --retry-max-time 240 \
-          -o artifacts.zip "$download_url"
-
-        ## Unzip and remove the artifact
-        unzip artifacts.zip
-        rm artifacts.zip
-    - name: build
-      shell: powershell
-      env:
-        HOME: ${{runner.workspace}}
-        MSYSTEM: MINGW64
-        NO_PERL: 1
-      run: |
-        & .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
-        printf '%s\n' /git-sdk-64-minimal/ >>.git/info/exclude
-
-          ci/make-test-artifacts.sh artifacts
-        "@
-    - name: upload build artifacts
-      uses: actions/upload-artifact@v1
-      with:
-        name: windows-artifacts
-        path: artifacts
-    - name: upload git-sdk-64-minimal
-      uses: actions/upload-artifact@v1
-      with:
-        name: git-sdk-64-minimal
-        path: git-sdk-64-minimal
-  windows-test:
-    runs-on: windows-latest
-    needs: [windows-build]
-    strategy:
-      matrix:
-        nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-    steps:
-    - uses: actions/checkout@v1
-    - name: download build artifacts
-      uses: actions/download-artifact@v1
-      with:
-        name: windows-artifacts
-        path: ${{github.workspace}}
-    - name: extract build artifacts
-      shell: bash
-      run: tar xf artifacts.tar.gz
-    - name: download git-sdk-64-minimal
-      uses: actions/download-artifact@v1
-      with:
-        name: git-sdk-64-minimal
-        path: ${{github.workspace}}/git-sdk-64-minimal/
-    - name: test
-      shell: powershell
-      run: |
-        & .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
-          # Let Git ignore the SDK
-          printf '%s\n' /git-sdk-64-minimal/ >>.git/info/exclude
-
-          ci/run-test-slice.sh ${{matrix.nr}} 10
-        "@
-    - name: ci/print-test-failures.sh
-      if: failure()
-      shell: powershell
-      run: |
-        & .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh
-    - name: Upload failed tests' directories
-      if: failure() && env.FAILED_TEST_ARTIFACTS != ''
-      uses: actions/upload-artifact@v1
-      with:
-        name: failed-tests-windows
-        path: ${{env.FAILED_TEST_ARTIFACTS}}
-  vs-build:
-    needs: ci-config
-    if: needs.ci-config.outputs.enabled == 'yes'
-    env:
-      MSYSTEM: MINGW64
-      NO_PERL: 1
-      GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
-    runs-on: windows-latest
-    steps:
-    - uses: actions/checkout@v1
-    - name: download git-sdk-64-minimal
-      shell: bash
-      run: |
-        ## Get artifact
-        urlbase=https://dev.azure.com/git-for-windows/git/_apis/build/builds
-        id=$(curl "$urlbase?definitions=22&statusFilter=completed&resultFilter=succeeded&\$top=1" |
-          jq -r ".value[] | .id")
-        download_url="$(curl "$urlbase/$id/artifacts" |
-          jq -r '.value[] | select(.name == "git-sdk-64-minimal").resource.downloadUrl')"
-        curl --connect-timeout 10 --retry 5 --retry-delay 0 --retry-max-time 240 \
-          -o artifacts.zip "$download_url"
-
-        ## Unzip and remove the artifact
-        unzip artifacts.zip
-        rm artifacts.zip
-    - name: download vcpkg artifacts
-      shell: powershell
-      run: |
-        $urlbase = "https://dev.azure.com/git/git/_apis/build/builds"
-        $id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=9&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id
-        $downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[0].resource.downloadUrl
-        (New-Object Net.WebClient).DownloadFile($downloadUrl, "compat.zip")
-        Expand-Archive compat.zip -DestinationPath . -Force
-        Remove-Item compat.zip
-    - name: add msbuild to PATH
-      uses: microsoft/setup-msbuild@v1
-    - name: copy dlls to root
-      shell: powershell
-      run: |
-        & compat\vcbuild\vcpkg_copy_dlls.bat release
-        if (!$?) { exit(1) }
-    - name: generate Visual Studio solution
-      shell: bash
-      run: |
-        cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows \
-        -DIconv_LIBRARY=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows/lib/libiconv.lib -DIconv_INCLUDE_DIR=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows/include \
-        -DMSGFMT_EXE=`pwd`/git-sdk-64-minimal/mingw64/bin/msgfmt.exe -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
-    - name: MSBuild
-      run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
-    - name: bundle artifact tar
-      shell: powershell
-      env:
-        MSVC: 1
-        VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
-      run: |
-        & git-sdk-64-minimal\usr\bin\bash.exe -lc @"
-          mkdir -p artifacts &&
-          eval \"`$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts 2>&1 | grep ^tar)\"
-        "@
-    - name: upload build artifacts
-      uses: actions/upload-artifact@v1
-      with:
-        name: vs-artifacts
-        path: artifacts
-  vs-test:
-    runs-on: windows-latest
-    needs: [vs-build, windows-build]
-    strategy:
-      matrix:
-        nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-    steps:
-    - uses: actions/checkout@v1
-    - name: download git-sdk-64-minimal
-      uses: actions/download-artifact@v1
-      with:
-        name: git-sdk-64-minimal
-        path: ${{github.workspace}}/git-sdk-64-minimal/
-    - name: download build artifacts
-      uses: actions/download-artifact@v1
-      with:
-        name: vs-artifacts
-        path: ${{github.workspace}}
-    - name: extract build artifacts
-      shell: bash
-      run: tar xf artifacts.tar.gz
-    - name: test
-      shell: powershell
-      env:
-        MSYSTEM: MINGW64
-        NO_SVN_TESTS: 1
-        GIT_TEST_SKIP_REBASE_P: 1
-      run: |
-        & .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
-          # Let Git ignore the SDK and the test-cache
-          printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude
-
-          ci/run-test-slice.sh ${{matrix.nr}} 10
-        "@
-    - name: ci/print-test-failures.sh
-      if: failure()
-      shell: powershell
-      run: |
-        & .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh
-    - name: Upload failed tests' directories
-      if: failure() && env.FAILED_TEST_ARTIFACTS != ''
-      uses: actions/upload-artifact@v1
-      with:
-        name: failed-tests-windows
-        path: ${{env.FAILED_TEST_ARTIFACTS}}
-  regular:
-    needs: ci-config
-    if: needs.ci-config.outputs.enabled == 'yes'
-    strategy:
-      matrix:
-        vector:
-          - jobname: linux-clang
-            cc: clang
-            pool: ubuntu-latest
-          - jobname: linux-gcc
-            cc: gcc
-            pool: ubuntu-latest
-          - jobname: osx-clang
-            cc: clang
-            pool: macos-latest
-          - jobname: osx-gcc
-            cc: gcc
-            pool: macos-latest
-          - jobname: GETTEXT_POISON
-            cc: gcc
-            pool: ubuntu-latest
-    env:
-      CC: ${{matrix.vector.cc}}
-      jobname: ${{matrix.vector.jobname}}
-    runs-on: ${{matrix.vector.pool}}
-    steps:
-    - uses: actions/checkout@v1
-    - run: ci/install-dependencies.sh
-    - run: ci/run-build-and-tests.sh
-    - run: ci/print-test-failures.sh
-      if: failure()
-    - name: Upload failed tests' directories
-      if: failure() && env.FAILED_TEST_ARTIFACTS != ''
-      uses: actions/upload-artifact@v1
-      with:
-        name: failed-tests-${{matrix.vector.jobname}}
-        path: ${{env.FAILED_TEST_ARTIFACTS}}
-  dockerized:
-    needs: ci-config
-    if: needs.ci-config.outputs.enabled == 'yes'
-    strategy:
-      matrix:
-        vector:
-        - jobname: linux-musl
-          image: alpine
-        - jobname: Linux32
-          image: daald/ubuntu32:xenial
-    env:
-      jobname: ${{matrix.vector.jobname}}
-    runs-on: ubuntu-latest
-    container: ${{matrix.vector.image}}
-    steps:
-    - uses: actions/checkout@v1
-    - run: ci/install-docker-dependencies.sh
-    - run: ci/run-build-and-tests.sh
-    - run: ci/print-test-failures.sh
-      if: failure()
-    - name: Upload failed tests' directories
-      if: failure() && env.FAILED_TEST_ARTIFACTS != ''
-      uses: actions/upload-artifact@v1
-      with:
-        name: failed-tests-${{matrix.vector.jobname}}
-        path: ${{env.FAILED_TEST_ARTIFACTS}}
-  static-analysis:
-    needs: ci-config
-    if: needs.ci-config.outputs.enabled == 'yes'
-    env:
-      jobname: StaticAnalysis
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v1
-    - run: ci/install-dependencies.sh
-    - run: ci/run-static-analysis.sh
-  documentation:
-    needs: ci-config
-    if: needs.ci-config.outputs.enabled == 'yes'
-    env:
-      jobname: Documentation
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v1
-    - run: ci/install-dependencies.sh
-    - run: ci/test-documentation.sh