From a4f27d24a3d82b3aa231c684d9328f007f6d59e2 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Mon, 12 Jun 2023 17:39:08 +0900 Subject: [PATCH] ci: support merge queue (#3652) --- .github/workflows/integration-test.yaml | 133 ++++++++++++++++++++++++ .github/workflows/test.yaml | 110 +------------------- .github/workflows/vm-test.yaml | 36 ------- 3 files changed, 135 insertions(+), 144 deletions(-) create mode 100644 .github/workflows/integration-test.yaml delete mode 100644 .github/workflows/vm-test.yaml diff --git a/.github/workflows/integration-test.yaml b/.github/workflows/integration-test.yaml new file mode 100644 index 00000000000..a3dbb8f36d3 --- /dev/null +++ b/.github/workflows/integration-test.yaml @@ -0,0 +1,133 @@ +name: Integration Test +on: + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + - 'mkdocs.yml' + - 'LICENSE' + pull_request: + paths-ignore: + - '**.md' + - 'docs/**' + - 'mkdocs.yml' + - 'LICENSE' + merge_group: +jobs: + integration: + name: Integration Test + runs-on: ubuntu-latest + steps: + - name: Check out code into the Go module directory + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + + - name: Install tools + uses: aquaproj/aqua-installer@v2.1.1 + with: + aqua_version: v1.25.0 + + - name: Run integration tests + run: mage test:integration + + k8s-integration: + name: K8s Integration Test + runs-on: ubuntu-latest + steps: + - name: Check out code into the Go module directory + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + + - name: Install tools + uses: aquaproj/aqua-installer@v2.1.1 + with: + aqua_version: v1.25.0 + + - name: Run k8s integration tests + run: mage test:k8s + + module-test: + name: Module Integration Test + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + + - name: Install tools + uses: aquaproj/aqua-installer@v2.1.1 + with: + aqua_version: v1.25.0 + + - name: Run module integration tests + shell: bash + run: | + mage test:module + + vm-test: + name: VM Integration Test + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - name: Install tools + uses: aquaproj/aqua-installer@v2.1.1 + with: + aqua_version: v1.25.0 + - name: Run vm integration tests + run: | + mage test:vm + + build-test: + name: Build Test + runs-on: ${{ matrix.operating-system }} + strategy: + matrix: + operating-system: [ubuntu-latest, windows-latest, macos-latest] + env: + DOCKER_CLI_EXPERIMENTAL: "enabled" + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + + - name: Determine GoReleaser ID + id: goreleaser_id + shell: bash + run: | + if [ "${{ matrix.operating-system }}" == "windows-latest" ]; then + echo "id=--id build-windows" >> $GITHUB_OUTPUT + elif [ "${{ matrix.operating-system }}" == "macos-latest" ]; then + echo "id=--id build-macos --id build-bsd" >> $GITHUB_OUTPUT + else + echo "id=--id build-linux" >> $GITHUB_OUTPUT + fi + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v4 + with: + version: v1.16.2 + args: build --snapshot --clean --timeout 90m ${{ steps.goreleaser_id.outputs.id }} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 6a097847cef..fb7945e44bd 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -3,17 +3,8 @@ on: push: branches: - main - paths-ignore: - - '**.md' - - 'docs/**' - - 'mkdocs.yml' - - 'LICENSE' pull_request: - paths-ignore: - - '**.md' - - 'docs/**' - - 'mkdocs.yml' - - 'LICENSE' + merge_group: jobs: test: name: Test @@ -62,101 +53,4 @@ jobs: if: matrix.operating-system == 'ubuntu-latest' - name: Run unit tests - run: mage test:unit - - integration: - name: Integration Test - runs-on: ubuntu-latest - steps: - - name: Check out code into the Go module directory - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - - name: Install tools - uses: aquaproj/aqua-installer@v2.1.1 - with: - aqua_version: v1.25.0 - - - name: Run integration tests - run: mage test:integration - - k8s-integration: - name: K8s Integration Test - runs-on: ubuntu-latest - steps: - - name: Check out code into the Go module directory - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - - name: Install tools - uses: aquaproj/aqua-installer@v2.1.1 - with: - aqua_version: v1.25.0 - - - name: Run k8s integration tests - run: mage test:k8s - - module-test: - name: Module Integration Test - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - - name: Install tools - uses: aquaproj/aqua-installer@v2.1.1 - with: - aqua_version: v1.25.0 - - - name: Run module integration tests - shell: bash - run: | - mage test:module - - build-test: - name: Build Test - runs-on: ${{ matrix.operating-system }} - strategy: - matrix: - operating-system: [ubuntu-latest, windows-latest, macos-latest] - env: - DOCKER_CLI_EXPERIMENTAL: "enabled" - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - - name: Determine GoReleaser ID - id: goreleaser_id - shell: bash - run: | - if [ "${{ matrix.operating-system }}" == "windows-latest" ]; then - echo "id=--id build-windows" >> $GITHUB_OUTPUT - elif [ "${{ matrix.operating-system }}" == "macos-latest" ]; then - echo "id=--id build-macos --id build-bsd" >> $GITHUB_OUTPUT - else - echo "id=--id build-linux" >> $GITHUB_OUTPUT - fi - - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v4 - with: - version: v1.16.2 - args: build --snapshot --clean --timeout 90m ${{ steps.goreleaser_id.outputs.id }} + run: mage test:unit \ No newline at end of file diff --git a/.github/workflows/vm-test.yaml b/.github/workflows/vm-test.yaml deleted file mode 100644 index dc91519c603..00000000000 --- a/.github/workflows/vm-test.yaml +++ /dev/null @@ -1,36 +0,0 @@ -name: VM Test -on: - push: - branches: - - main - paths: - - 'pkg/fanal/vm/**' - - 'pkg/fanal/walker/vm.go' - - 'pkg/fanal/artifact/vm/**' - - 'integration/vm_test.go' - pull_request: - paths: - - 'pkg/fanal/vm/**' - - 'pkg/fanal/walker/vm.go' - - 'pkg/fanal/artifact/vm/**' - - 'integration/vm_test.go' - -jobs: - vm-test: - name: VM Integration Test - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - name: Install tools - uses: aquaproj/aqua-installer@v2.1.1 - with: - aqua_version: v1.25.0 - - name: Run vm integration tests - run: | - mage test:vm \ No newline at end of file