Skip to content

[Go] AWS KMS & DynamoDB Metastore implementations for AWS SDK for Go v2 #12

[Go] AWS KMS & DynamoDB Metastore implementations for AWS SDK for Go v2

[Go] AWS KMS & DynamoDB Metastore implementations for AWS SDK for Go v2 #12

Workflow file for this run

name: '[Go] Pull Request'
# This workflow is triggered on pull requests to the main branch and is designed to run in conjunction with the CI workflow(s).
on:
pull_request:
branches:
- main
paths:
- '.github/workflows/go-*.yml'
- 'go/**'
- 'samples/go/**'
- 'server/go/**'
- 'server/protos/**'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-go-pr-${{ github.ref }}
cancel-in-progress: true
jobs:
securememory-benchmark:
name: 'SecureMemory: Bench'
uses: ./.github/workflows/go-securememory-bench.yml
strategy:
matrix:
go-version: [stable, oldstable]
with:
go-version: ${{ matrix.go-version }}
appencryption-integration:
name: 'AppEncryption: Integration'
uses: ./.github/workflows/go-appencryption-integration.yml
strategy:
matrix:
go-version: [stable, oldstable]
with:
go-version: ${{ matrix.go-version }}
appencryption-benchmark:
name: 'AppEncryption: Bench'
uses: ./.github/workflows/go-appencryption-bench.yml
strategy:
matrix:
go-version: [stable, oldstable]
with:
go-version: ${{ matrix.go-version }}
reference-app:
name: 'Reference App: Build and Lint'
runs-on: ubuntu-latest
container:
image: golang:latest
options: --ulimit core=-1 --ulimit memlock=-1:-1
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Add workspace to safe.directory # needed for VCS stamping
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Set up Go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: stable
cache-dependency-path: |
go/*/go.sum
samples/go/referenceapp/go.sum
- name: Install dependencies
run: |
cd samples/go/referenceapp
go get .
go install gotest.tools/gotestsum@latest
- name: Build
run: |
cd samples/go/referenceapp
./scripts/build.sh
- name: Run linters
uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0
with:
version: 'v1.60.1'
skip-cache: true
working-directory: 'samples/go/referenceapp'
server:
name: 'Server: Build and Lint'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Add workspace to safe.directory # needed for VCS stamping
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Set up Go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: stable
cache-dependency-path: |
go/*/go.sum
server/go/go.sum
- name: Install dependencies
run: |
cd server/go
go get .
go install gotest.tools/gotestsum@latest
- name: Build
run: |
cd server/go
./scripts/build.sh
- name: Run unit tests
run: |
cd server/go
sudo prlimit --pid $$ --core=-1
sudo prlimit --pid $$ --memlock=-1:-1
./scripts/test.sh
- name: Run linters
uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0
with:
version: 'v1.60.1'
skip-cache: true
working-directory: 'server/go'