Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare to release next version #89

Merged
merged 22 commits into from
Dec 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/codeql/codeql-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: "CodeQL config"

paths-ignore:
- module_test

queries:
- uses: security-and-quality
8 changes: 4 additions & 4 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ updates:
schedule:
interval: "weekly"
day: "sunday"
open-pull-requests-limit: 10
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"] # do not update to major version as it may contain breaking changes
# open-pull-requests-limit: 10
# ignore:
# - dependency-name: "*"
# update-types: ["version-update:semver-major"] # do not update to major version as it may contain breaking changes
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
# Automatically merge PR from dependabot
# Automatically merge PRs from dependabot

name: "automerge"
name: "automerge-dependabot"
on:
workflow_run:
workflows:
- "godynamo"
workflows: [ "ci" ]
types: [ "completed" ]

# Allow manually trigger
workflow_dispatch:

permissions:
contents: write
pull-requests: write
Expand All @@ -22,7 +18,7 @@ jobs:
github.event.workflow_run.conclusion == 'success' &&
github.ref == 'refs/heads/main'
steps:
- name: 'Merge PR'
- name: Merge PR
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
134 changes: 134 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: 'ci'

on:
push:
branches: [ '*' ]
pull_request:
types: [ opened, edited, reopened, synchronize, review_requested ]
branches: [ '*' ]
schedule:
# run once every month (at 00:00 UTC) to make sure the driver works with latest version of Go and AWS DynamoDB
- cron: '0 0 1 * *'
workflow_call:

env:
COVER_PKG: 'github.com/btnguyen2k/godynamo'
AWS_REGION: 'us-east-1'
AWS_ACCESS_KEY_ID: 'DUMMYID'
AWS_SECRET_ACCESS_KEY: 'DUMMYKEY'
AWS_DYNAMODB_ENDPOINT: 'http://localhost:8000'
AWS_DYNAMODB_URL: 'Endpoint=http://localhost:8000'
TAG_PREFIX: 'v'

jobs:
GoFmt:
runs-on: ubuntu-latest
name: Check format with go fmt
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Go env
uses: actions/setup-go@v5
with:
go-version: 'stable'
- name: Run go fmt
run: |
go version
go fmt ./...

GoLint:
name: GoLint
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Go env
uses: actions/setup-go@v5
with:
go-version: 'stable'
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
only-new-issues: true

ReleaseDryRun:
if: github.event_name == 'push'
runs-on: ubuntu-latest
outputs:
RESULT: ${{ steps.release_dry_run.outputs.result }}
VERSION: ${{ steps.release_dry_run.outputs.releaseVersion }}
RELEASE_NOTES: ${{ steps.release_dry_run.outputs.releaseNotes }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
- name: Release (dry-run)
id: release_dry_run
uses: btnguyen2k/action-semrelease@v3
with:
dry-run: true
auto-mode: true
github-token: ${{ secrets.GITHUB_TOKEN }}
tag-major-release: false
tag-minor-release: false
branches: ${{ github.ref_name }}
tag-prefix: ${{ env.TAG_PREFIX }}
tag-only: true

TestParsing:
runs-on: ubuntu-latest
strategy:
matrix:
go: [ '1.18', 'oldstable', 'stable' ]
name: Run parsing tests with Go ${{ matrix.go }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Go env
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Run tests
run: |
go version
go test -v -timeout 9999s -count 1 -p 1 -cover -coverprofile coverage.txt ./
- name: Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
flags: parsing
name: parsing

TestLocal:
runs-on: ubuntu-latest
strategy:
matrix:
go: [ '1.18', 'oldstable', 'stable' ]
name: Run tests against local AWS DynamoDB with Go ${{ matrix.go }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Go env
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Start local AWS DynamoDB server
run: docker run -d --name dynamodb -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -inMemory -sharedDb
- name: Run tests
run: |
go version
cd module_test \
&& go test -v -timeout 9999s -count 1 -p 1 -cover -coverpkg="${COVER_PKG}" -coverprofile coverage_local.txt ./ \
&& cd ..
- name: Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
flags: other
name: other
41 changes: 41 additions & 0 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: "CodeQL"

on:
push:
branches: [ '*' ]
paths: [ '**.go' ]
pull_request:
branches: [ '*' ]
schedule:
# run every Saturday at 00:00 UTC
- cron: '0 0 * * 6'

jobs:
Analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
# Learn more about CodeQL language support at https://git.io/codeql-language-support
language: [ 'go' ]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/codeql-config.yaml
# Autobuild attempts to build any compiled languages (C/C++, C#, Java, etc).
# If this step fails, then you should remove it and run the build manually (see below)
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
34 changes: 0 additions & 34 deletions .github/workflows/godynamo.yaml

This file was deleted.

Loading
Loading