You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by vo...@apache.org on 2021/12/15 01:09:26 UTC

[rocketmq-client-go] branch master updated: Add workflow

This is an automated email from the ASF dual-hosted git repository.

vongosling pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-client-go.git


The following commit(s) were added to refs/heads/master by this push:
     new e777ff4  Add workflow
e777ff4 is described below

commit e777ff4a3655c3e19a94ab0adfbb8975dc85f3a5
Author: vongosling <vo...@apache.org>
AuthorDate: Wed Dec 15 09:09:11 2021 +0800

    Add workflow
---
 .github/.github/ISSUE_TEMPLATE.md                  |  2 +
 .../ISSUE_TEMPLATE/distributors-application.md     | 28 +++++++++
 .github/.github/PULL_REQUEST_TEMPLATE.md           |  2 +
 .github/.github/SECURITY.md                        |  2 +
 .github/.github/stale.yml                          | 60 +++++++++++++++++++
 .github/.github/workflows/asset-transparency.yaml  | 18 ++++++
 .github/.github/workflows/build.yaml               | 56 ++++++++++++++++++
 .github/.github/workflows/codeql-analysis.yml      | 67 ++++++++++++++++++++++
 .github/.github/workflows/e2e.yaml                 | 35 +++++++++++
 .github/.github/workflows/functional.yaml          | 29 ++++++++++
 .github/.github/workflows/grpcproxy.yaml           | 30 ++++++++++
 .github/.github/workflows/static-analysis.yaml     | 29 ++++++++++
 .github/.github/workflows/tests.yaml               | 50 ++++++++++++++++
 .github/stale.yml                                  | 60 +++++++++++++++++++
 .github/workflows/codeql-analysis.yml              | 67 ++++++++++++++++++++++
 .github/workflows/tests.yaml                       | 46 +++++++++++++++
 16 files changed, 581 insertions(+)

diff --git a/.github/.github/ISSUE_TEMPLATE.md b/.github/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..3a3c247
--- /dev/null
+++ b/.github/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,2 @@
+
+Please read https://etcd.io/docs/latest/reporting_bugs/
diff --git a/.github/.github/ISSUE_TEMPLATE/distributors-application.md b/.github/.github/ISSUE_TEMPLATE/distributors-application.md
new file mode 100644
index 0000000..2f65c6a
--- /dev/null
+++ b/.github/.github/ISSUE_TEMPLATE/distributors-application.md
@@ -0,0 +1,28 @@
+---
+name: Distributors Application
+title: Distributors Application for <YOUR DISTRIBUTION HERE>
+about: Apply for membership of security@etcd.io
+---
+
+<!--
+Please answer the following questions and provide supporting evidence for
+meeting the membership criteria.
+-->
+
+**Actively monitored security email alias for our project:**
+
+**1. Have a user base not limited to your own organization.**
+
+**2. Have a publicly verifiable track record up to present day of fixing security issues.**
+
+**3. Not be a downstream or rebuild of another distribution.**
+
+**4. Be a participant and active contributor in the community.**
+
+**5. Accept the Embargo Policy.**
+<!-- https://github.com/etcd-io/etcd/blob/main/security/security-release-process.md#disclosures -->
+
+**6. Be willing to contribute back.**
+<!-- Per https://github.com/etcd-io/etcd/blob/main/security/security-release-process.md#patch-release-and-public-communication -->
+
+**7. Have someone already on the list vouch for the person requesting membership on behalf of your distribution.**
diff --git a/.github/.github/PULL_REQUEST_TEMPLATE.md b/.github/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..48dc1a2
--- /dev/null
+++ b/.github/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,2 @@
+
+Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.
diff --git a/.github/.github/SECURITY.md b/.github/.github/SECURITY.md
new file mode 100644
index 0000000..7ce4e8e
--- /dev/null
+++ b/.github/.github/SECURITY.md
@@ -0,0 +1,2 @@
+
+Please read https://github.com/etcd-io/etcd/blob/main/security/README.md.
diff --git a/.github/.github/stale.yml b/.github/.github/stale.yml
new file mode 100644
index 0000000..b85f1f4
--- /dev/null
+++ b/.github/.github/stale.yml
@@ -0,0 +1,60 @@
+# Configuration for probot-stale - https://github.com/probot/stale
+
+# Number of days of inactivity before an Issue or Pull Request becomes stale
+daysUntilStale: 90
+
+# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
+# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
+daysUntilClose: 21
+
+# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
+onlyLabels: []
+
+# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
+exemptLabels:
+  - "area/security"
+  - "Investigating"
+
+# Set to true to ignore issues in a project (defaults to false)
+exemptProjects: false
+
+# Set to true to ignore issues in a milestone (defaults to false)
+exemptMilestones: false
+
+# Set to true to ignore issues with an assignee (defaults to false)
+exemptAssignees: false
+
+# Label to use when marking as stale
+staleLabel: stale
+
+# Comment to post when marking as stale. Set to `false` to disable
+markComment: >
+  This issue has been automatically marked as stale because it has not had
+  recent activity. It will be closed after 21 days if no further activity
+  occurs. Thank you for your contributions.
+
+# Comment to post when removing the stale label.
+# unmarkComment: >
+#   Your comment here.
+
+# Comment to post when closing a stale Issue or Pull Request.
+# closeComment: >
+#   Your comment here.
+
+# Limit the number of actions per hour, from 1-30. Default is 30
+limitPerRun: 30
+
+# Limit to only `issues` or `pulls`
+# only: issues
+
+# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
+# pulls:
+#   daysUntilStale: 30
+#   markComment: >
+#     This pull request has been automatically marked as stale because it has not had
+#     recent activity. It will be closed if no further activity occurs. Thank you
+#     for your contributions.
+
+# issues:
+#   exemptLabels:
+#     - confirmed
diff --git a/.github/.github/workflows/asset-transparency.yaml b/.github/.github/workflows/asset-transparency.yaml
new file mode 100644
index 0000000..6f4f2bf
--- /dev/null
+++ b/.github/.github/workflows/asset-transparency.yaml
@@ -0,0 +1,18 @@
+name: Publish Release Assets to Asset Transparency Log
+
+on:
+  release:
+    types: [published, created, edited, released]
+
+jobs:
+  github_release_asset_transparency_log_publish_job:
+    runs-on: ubuntu-latest
+    name: Publish GitHub release asset digests to https://beta-asset.transparencylog.net
+    steps:
+    - name: Gather URLs from GitHub release and publish
+      id: asset-transparency
+      uses: transparencylog/github-releases-asset-transparency-verify-action@v11
+    - name: List verified and published URLs
+      run: echo "Verified URLs ${{ steps.asset-transparency.outputs.verified }}"
+    - name: List failed URLs
+      run: echo "Failed URLs ${{ steps.asset-transparency.outputs.failed }}"
diff --git a/.github/.github/workflows/build.yaml b/.github/.github/workflows/build.yaml
new file mode 100644
index 0000000..dd12ca5
--- /dev/null
+++ b/.github/.github/workflows/build.yaml
@@ -0,0 +1,56 @@
+name: Build
+on: [push, pull_request]
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        target:
+          - linux-amd64
+          - linux-386
+          - darwin-amd64
+          - windows-amd64
+          - linux-arm
+          - linux-arm64
+          - linux-ppc64le
+          - linux-s390x
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions/setup-go@v2
+        with:
+          go-version: "1.17.2"
+      - env:
+          TARGET: ${{ matrix.target }}
+        run: |
+          echo "${TARGET}"
+          case "${TARGET}" in
+            linux-amd64)
+              ARCH=amd64 PASSES='build' ./test.sh
+              ;;
+            linux-386)
+              ARCH=386 PASSES='build' ./test.sh
+              ;;
+            darwin-amd64)
+              ARCH=amd64 GOOS=darwin GO_BUILD_FLAGS='-v -mod=readonly' ./build.sh
+              ;;
+            windows-amd64)
+              ARCH=amd64 GOOS=windows GO_BUILD_FLAGS='-v -mod=readonly' ./build.sh
+              ;;
+            linux-arm)
+              ARCH=arm GO_BUILD_FLAGS='-v -mod=readonly' ./build.sh
+              ;;
+            linux-arm64)
+              ARCH=arm64 GO_BUILD_FLAGS='-v -mod=readonly' ./build.sh
+              ;;
+            linux-ppc64le)
+              ARCH=ppc64le GO_BUILD_FLAGS='-v -mod=readonly' ./build.sh
+              ;;
+            linux-s390x)
+              ARCH=s390x GO_BUILD_FLAGS='-v -mod=readonly' ./build.sh
+              ;;
+            *)
+              echo "Failed to find target"
+              exit 1
+              ;;
+          esac
diff --git a/.github/.github/workflows/codeql-analysis.yml b/.github/.github/workflows/codeql-analysis.yml
new file mode 100644
index 0000000..76e8a31
--- /dev/null
+++ b/.github/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,67 @@
+# For most projects, this workflow file will not need changing; you simply need
+# to commit it to your repository.
+#
+# You may wish to alter this file to override the set of languages analyzed,
+# or to provide custom queries or build logic.
+#
+# ******** NOTE ********
+# We have attempted to detect the languages in your repository. Please check
+# the `language` matrix defined below to confirm you have the correct set of
+# supported CodeQL languages.
+#
+name: "CodeQL"
+
+on:
+  push:
+    branches: [ main, release-0.4, release-2.0, release-2.1, release-2.2, release-2.3, release-3.0, release-3.1 ]
+  pull_request:
+    # The branches below must be a subset of the branches above
+    branches: [ main ]
+  schedule:
+    - cron: '20 14 * * 5'
+
+jobs:
+  analyze:
+    name: Analyze
+    runs-on: ubuntu-latest
+
+    strategy:
+      fail-fast: false
+      matrix:
+        language: [ 'go' ]
+        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
+        # Learn more:
+        # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v2
+
+    # Initializes the CodeQL tools for scanning.
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v1
+      with:
+        languages: ${{ matrix.language }}
+        # If you wish to specify custom queries, you can do so here or in a config file.
+        # By default, queries listed here will override any specified in a config file.
+        # Prefix the list here with "+" to use these queries and those in the config file.
+        # queries: ./path/to/local/query, your-org/your-repo/queries@main
+
+    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
+    # If this step fails, then you should remove it and run the build manually (see below)
+    - name: Autobuild
+      uses: github/codeql-action/autobuild@v1
+
+    # ℹī¸ Command-line programs to run using the OS shell.
+    # 📚 https://git.io/JvXDl
+
+    # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines
+    #    and modify them (or add more) to build your code if your project
+    #    uses a compiled language
+
+    #- run: |
+    #   make bootstrap
+    #   make release
+
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v1
diff --git a/.github/.github/workflows/e2e.yaml b/.github/.github/workflows/e2e.yaml
new file mode 100644
index 0000000..2af1bbe
--- /dev/null
+++ b/.github/.github/workflows/e2e.yaml
@@ -0,0 +1,35 @@
+name: E2E
+on: [push, pull_request]
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: true
+      matrix:
+        target:
+        - linux-amd64-e2e
+        - linux-386-e2e
+    steps:
+    - uses: actions/checkout@v2
+    - uses: actions/setup-go@v2
+      with:
+        go-version: "1.17.2"
+    - run: date
+    - env:
+        TARGET: ${{ matrix.target }}
+      run: |
+        echo "${TARGET}"
+        case "${TARGET}" in
+          linux-amd64-e2e)
+            PASSES='build release e2e' MANUAL_VER=v3.5.0 CPU='4' EXPECT_DEBUG='true' COVER='false' RACE='true' ./test.sh 2>&1 | tee test.log
+            ! egrep "(--- FAIL:|FAIL:|DATA RACE|panic: test timed out|appears to have leaked)" -B50 -A10 test.log
+            ;;
+          linux-386-e2e)
+            GOARCH=386 PASSES='build e2e' CPU='4' EXPECT_DEBUG='true' COVER='false' RACE='true' ./test.sh 2>&1 | tee test.log
+            ! egrep "(--- FAIL:|FAIL:|DATA RACE|panic: test timed out|appears to have leaked)" -B50 -A10 test.log
+            ;;
+          *)
+            echo "Failed to find target"
+            exit 1
+            ;;
+        esac
diff --git a/.github/.github/workflows/functional.yaml b/.github/.github/workflows/functional.yaml
new file mode 100644
index 0000000..28adf47
--- /dev/null
+++ b/.github/.github/workflows/functional.yaml
@@ -0,0 +1,29 @@
+name: functional-tests
+on: [push, pull_request]
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: true
+      matrix:
+        target:
+        - linux-amd64-functional
+    steps:
+    - uses: actions/checkout@v2
+    - uses: actions/setup-go@v2
+      with:
+        go-version: "1.17.2"
+    - run: date
+    - env:
+        TARGET: ${{ matrix.target }}
+      run: |
+        echo "${TARGET}"
+        case "${TARGET}" in
+          linux-amd64-functional)
+            GO_BUILD_FLAGS='-v -mod=readonly' ./build.sh && GOARCH=amd64 PASSES='functional' ./test.sh
+            ;;
+          *)
+            echo "Failed to find target"
+            exit 1
+            ;;
+        esac
diff --git a/.github/.github/workflows/grpcproxy.yaml b/.github/.github/workflows/grpcproxy.yaml
new file mode 100644
index 0000000..0559c12
--- /dev/null
+++ b/.github/.github/workflows/grpcproxy.yaml
@@ -0,0 +1,30 @@
+name: grpcProxy-tests
+on: [push, pull_request]
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: true
+      matrix:
+        target:
+        - linux-amd64-grpcproxy
+    steps:
+    - uses: actions/checkout@v2
+    - uses: actions/setup-go@v2
+      with:
+        go-version: "1.17.2"
+    - run: date
+    - env:
+        TARGET: ${{ matrix.target }}
+      run: |
+        echo "${TARGET}"
+        case "${TARGET}" in
+          linux-amd64-grpcproxy)
+            PASSES='build grpcproxy'  CPU='4' COVER='false' RACE='true' ./test.sh 2>&1 | tee test.log
+            ! egrep "(--- FAIL:|FAIL:|DATA RACE|panic: test timed out|appears to have leaked)" -B50 -A10 test.log
+            ;;
+          *)
+            echo "Failed to find target"
+            exit 1
+            ;;
+        esac
diff --git a/.github/.github/workflows/static-analysis.yaml b/.github/.github/workflows/static-analysis.yaml
new file mode 100644
index 0000000..820f611
--- /dev/null
+++ b/.github/.github/workflows/static-analysis.yaml
@@ -0,0 +1,29 @@
+name: Static Analysis
+on: [push, pull_request]
+jobs:
+  run:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        target:
+          - linux-amd64-fmt
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions/setup-go@v2
+        with:
+          go-version: "1.17.2"
+      - run: date
+      - env:
+          TARGET: ${{ matrix.target }}
+        run: |
+          echo "${TARGET}"
+          case "${TARGET}" in
+            linux-amd64-fmt)
+              GOARCH=amd64 PASSES='fmt bom dep' ./test.sh
+              ;;
+            *)
+              echo "Failed to find target"
+              exit 1
+              ;;
+          esac
diff --git a/.github/.github/workflows/tests.yaml b/.github/.github/workflows/tests.yaml
new file mode 100644
index 0000000..f30e6e2
--- /dev/null
+++ b/.github/.github/workflows/tests.yaml
@@ -0,0 +1,50 @@
+name: Tests
+on: [push, pull_request]
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        target:
+        - linux-amd64-integration-1-cpu
+        - linux-amd64-integration-2-cpu
+        - linux-amd64-integration-4-cpu
+        - linux-amd64-unit-4-cpu-race
+        - linux-386-unit-1-cpu
+    steps:
+    - uses: actions/checkout@v2
+    - uses: actions/setup-go@v2
+      with:
+        go-version: "1.17.2"
+    - run: date
+    - env:
+        TARGET: ${{ matrix.target }}
+      run: |
+        mkdir "${TARGET}"
+        export JUNIT_REPORT_DIR=$(realpath ${TARGET})
+        case "${TARGET}" in
+          linux-amd64-integration-1-cpu)
+            GOARCH=amd64 CPU=1 PASSES='integration' RACE='false' ./test.sh
+            ;;
+          linux-amd64-integration-2-cpu)
+            GOARCH=amd64 CPU=2 PASSES='integration' RACE='false' ./test.sh
+            ;;
+          linux-amd64-integration-4-cpu)
+            GOARCH=amd64 CPU=4 PASSES='integration' RACE='false' ./test.sh
+            ;;
+          linux-amd64-unit-4-cpu-race)
+            GOARCH=amd64 PASSES='unit' RACE='true' CPU='4' ./test.sh -p=2
+            ;;
+          linux-386-unit-1-cpu)
+            GOARCH=386 PASSES='unit' RACE='false' CPU='1' ./test -p=4
+            ;;
+          *)
+            echo "Failed to find target"
+            exit 1
+            ;;
+        esac
+    - uses: actions/upload-artifact@v2
+      if: always()
+      with:
+        path: ./**/junit_*.xml
diff --git a/.github/stale.yml b/.github/stale.yml
new file mode 100644
index 0000000..4bf61a0
--- /dev/null
+++ b/.github/stale.yml
@@ -0,0 +1,60 @@
+# Configuration for probot-stale - https://github.com/probot/stale
+
+# Number of days of inactivity before an Issue or Pull Request becomes stale
+daysUntilStale: 60
+
+# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
+# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
+daysUntilClose: 21
+
+# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
+onlyLabels: []
+
+# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
+exemptLabels:
+  - ""
+  - "Investigating"
+
+# Set to true to ignore issues in a project (defaults to false)
+exemptProjects: false
+
+# Set to true to ignore issues in a milestone (defaults to false)
+exemptMilestones: false
+
+# Set to true to ignore issues with an assignee (defaults to false)
+exemptAssignees: false
+
+# Label to use when marking as stale
+staleLabel: stale
+
+# Comment to post when marking as stale. Set to `false` to disable
+markComment: >
+  This issue has been automatically marked as stale because it has not had
+  recent activity. It will be closed after 14 days if no further activity
+  occurs. Thank you for your contributions.
+
+# Comment to post when removing the stale label.
+# unmarkComment: >
+#   Your comment here.
+
+# Comment to post when closing a stale Issue or Pull Request.
+# closeComment: >
+#   Your comment here.
+
+# Limit the number of actions per hour, from 1-30. Default is 30
+limitPerRun: 30
+
+# Limit to only `issues` or `pulls`
+# only: issues
+
+# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
+# pulls:
+#   daysUntilStale: 30
+#   markComment: >
+#     This pull request has been automatically marked as stale because it has not had
+#     recent activity. It will be closed if no further activity occurs. Thank you
+#     for your contributions.
+
+# issues:
+#   exemptLabels:
+#     - confirmed
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
new file mode 100644
index 0000000..0ca9da3
--- /dev/null
+++ b/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,67 @@
+# For most projects, this workflow file will not need changing; you simply need
+# to commit it to your repository.
+#
+# You may wish to alter this file to override the set of languages analyzed,
+# or to provide custom queries or build logic.
+#
+# ******** NOTE ********
+# We have attempted to detect the languages in your repository. Please check
+# the `language` matrix defined below to confirm you have the correct set of
+# supported CodeQL languages.
+#
+name: "Code Scanning"
+
+on:
+  push:
+    branches: [ master]
+  pull_request:
+    # The branches below must be a subset of the branches above
+    branches: [ master ]
+  schedule:
+    - cron: '20 8 * * 5'
+
+jobs:
+  analyze:
+    name: Analyze
+    runs-on: ubuntu-latest
+
+    strategy:
+      fail-fast: false
+      matrix:
+        language: [ 'go' ]
+        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
+        # Learn more:
+        # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v2
+
+    # Initializes the CodeQL tools for scanning.
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v1
+      with:
+        languages: ${{ matrix.language }}
+        # If you wish to specify custom queries, you can do so here or in a config file.
+        # By default, queries listed here will override any specified in a config file.
+        # Prefix the list here with "+" to use these queries and those in the config file.
+        # queries: ./path/to/local/query, your-org/your-repo/queries@main
+
+    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
+    # If this step fails, then you should remove it and run the build manually (see below)
+    - name: Autobuild
+      uses: github/codeql-action/autobuild@v1
+
+    # ℹī¸ Command-line programs to run using the OS shell.
+    # 📚 https://git.io/JvXDl
+
+    # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines
+    #    and modify them (or add more) to build your code if your project
+    #    uses a compiled language
+
+    #- run: |
+    #   make bootstrap
+    #   make release
+
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v1
diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
new file mode 100644
index 0000000..05d9dc6
--- /dev/null
+++ b/.github/workflows/tests.yaml
@@ -0,0 +1,46 @@
+name: Tests
+on: [push, pull_request]
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        target:
+        - linux-amd64-integration-1-cpu
+        - linux-amd64-integration-2-cpu
+        - linux-amd64-integration-4-cpu
+        - linux-amd64-unit-4-cpu-race
+        - linux-386-unit-1-cpu
+    steps:
+    - uses: actions/checkout@v2
+    - uses: actions/setup-go@v2
+      with:
+        go-version: "1.17.2"
+    - run: date
+    - env:
+        TARGET: ${{ matrix.target }}
+      run: |
+        mkdir "${TARGET}"
+        export REPORT_DIR=$(realpath ${TARGET})
+        case "${TARGET}" in
+          linux-amd64-integration-1-cpu)
+            GOARCH=amd64 CPU=1 PASSES='integration' RACE='false'
+            ;;
+          linux-amd64-integration-2-cpu)
+            GOARCH=amd64 CPU=2 PASSES='integration' RACE='false'
+            ;;
+          linux-amd64-integration-4-cpu)
+            GOARCH=amd64 CPU=4 PASSES='integration' RACE='false'
+            ;;
+          linux-amd64-unit-4-cpu-race)
+            GOARCH=amd64 PASSES='unit' RACE='true' CPU='4'
+            ;;
+          linux-386-unit-1-cpu)
+            GOARCH=386 PASSES='unit' RACE='false' CPU='1'
+            ;;
+          *)
+            echo "Failed to find target"
+            exit 1
+            ;;
+        esac