diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 3c29e490b9..a6cd5690d4 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -21,78 +21,78 @@ concurrency: cancel-in-progress: true jobs: -# build-and-test-go-client: -# timeout-minutes: 25 -# strategy: -# # Run all jobs -# fail-fast: false -# matrix: -# go: -# - '1.18' -# - '1.21' -# redis: -# - 6.2.14 -# - 7.2.3 -# os: -# - ubuntu-latest -# - macos-latest -# -# runs-on: ${{ matrix.os }} -# -# steps: -# - uses: actions/checkout@v4 -# with: -# submodules: recursive -# -# - name: Set up Go ${{ matrix.go }} -# uses: actions/setup-go@v5 -# with: -# go-version: '^1.13.1' -# -# - name: Install shared software dependencies -# uses: ./.github/workflows/install-shared-dependencies -# with: -# os: ${{ matrix.os }} -# target: ${{ matrix.os == 'ubuntu-latest' && 'x86_64-unknown-linux-gnu' || 'x86_64-apple-darwin' }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# -# - name: Install redis -# # TODO: make this step macos compatible: https://github.com/aws/glide-for-redis/issues/781 -# if: ${{ matrix.os == 'ubuntu-latest' }} -# uses: ./.github/workflows/install-redis -# with: -# redis-version: ${{ matrix.redis }} -# -# - name: Install client dependencies -# working-directory: ./go -# run: make install-dependencies -# -# - name: Build client -# working-directory: ./go -# run: | -# go mod edit -go=${{ matrix.go }} -# make build -# -# - name: Run go vet linter -# working-directory: ./go -# run: go vet . -# -# - name: Run staticcheck linter -# working-directory: ./go -# run: staticcheck . -# -# - name: Run unit tests -# working-directory: ./go -# run: make unit-test-report -# -# - name: Upload test reports -# if: always() -# continue-on-error: true -# uses: actions/upload-artifact@v4 -# with: -# name: test-reports-go-${{ matrix.go }}-redis-${{ matrix.redis }}-${{ matrix.os }} -# path: | -# go/reports/unit-test-report.html + build-and-test-go-client: + timeout-minutes: 25 + strategy: + # Run all jobs + fail-fast: false + matrix: + go: + - '1.18' + - '1.21' + redis: + - 6.2.14 + - 7.2.3 + os: + - ubuntu-latest + - macos-latest + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set up Go ${{ matrix.go }} + uses: actions/setup-go@v5 + with: + go-version: '^1.13.1' + + - name: Install shared software dependencies + uses: ./.github/workflows/install-shared-dependencies + with: + os: ${{ matrix.os }} + target: ${{ matrix.os == 'ubuntu-latest' && 'x86_64-unknown-linux-gnu' || 'x86_64-apple-darwin' }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Install redis + # TODO: make this step macos compatible: https://github.com/aws/glide-for-redis/issues/781 + if: ${{ matrix.os == 'ubuntu-latest' }} + uses: ./.github/workflows/install-redis + with: + redis-version: ${{ matrix.redis }} + + - name: Install client dependencies + working-directory: ./go + run: make install-dependencies + + - name: Build client + working-directory: ./go + run: | + go mod edit -go=${{ matrix.go }} + make build + + - name: Run go vet linter + working-directory: ./go + run: go vet . + + - name: Run staticcheck linter + working-directory: ./go + run: staticcheck . + + - name: Run unit tests + working-directory: ./go + run: make unit-test-report + + - name: Upload test reports + if: always() + continue-on-error: true + uses: actions/upload-artifact@v4 + with: + name: test-reports-go-${{ matrix.go }}-redis-${{ matrix.redis }}-${{ matrix.os }} + path: | + go/reports/unit-test-report.html build-amazonlinux-latest: if: github.repository_owner == 'aws' @@ -101,7 +101,7 @@ jobs: fail-fast: false matrix: go: -# - 1.18.10 + - 1.18.10 - 1.21.6 runs-on: ubuntu-latest container: amazonlinux:latest @@ -166,15 +166,15 @@ jobs: path: | go/reports/unit-test-report.html -# lint-rust: -# timeout-minutes: 15 -# runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v4 -# with: -# submodules: recursive -# -# - uses: ./.github/workflows/lint-rust -# with: -# cargo-toml-folder: ./go -# name: lint go rust + lint-rust: + timeout-minutes: 15 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - uses: ./.github/workflows/lint-rust + with: + cargo-toml-folder: ./go + name: lint go rust diff --git a/go/Cargo.toml b/go/Cargo.toml index e7d6adb14b..c7e2001c01 100644 --- a/go/Cargo.toml +++ b/go/Cargo.toml @@ -5,8 +5,6 @@ edition = "2021" license = "Apache-2.0" authors = ["Amazon Web Services"] -build = "build.rs" - [build-dependencies] cbindgen = "0.20" diff --git a/go/build.rs b/go/build.rs deleted file mode 100644 index febb8698dd..0000000000 --- a/go/build.rs +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright GLIDE-for-Redis Project Contributors - SPDX Identifier: Apache-2.0 - */ -use std::env; - -fn main() { - let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap(); - - cbindgen::Builder::new() - .with_crate(crate_dir) - .with_language(cbindgen::Language::C) - .generate() - .expect("Unable to generate bindings") - .write_to_file("lib.h"); -}