Skip to content

feature: implement geo hashing for repository (#10) #64

feature: implement geo hashing for repository (#10)

feature: implement geo hashing for repository (#10) #64

Workflow file for this run

name: Go APP CI
# run on push to main or on PR targeting main
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
id-token: write
contents: read
jobs:
vuln-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.23.0"
- name: Install dependencies
run: make ci
- name: Vulnerability Scan
run: make vuln_scan
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.23.0"
- name: Lint
uses: golangci/golangci-lint-action@v6
test:
runs-on: ubuntu-latest
needs:
- vuln-scan
- lint
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.23.0"
- name: Install dependencies
run: make ci
- name: Run tests
run: make test_report
build:
runs-on: ubuntu-latest
needs:
- vuln-scan
- lint
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Assume build role
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: us-east-1 # required for public ecr
role-to-assume: ${{ secrets.CI_BUILD_ROLE_ARN }}
- name: Login to Amazon ECR Public Gallery
id: login-ecr-public
uses: aws-actions/amazon-ecr-login@v2
with:
registry-type: public
- name: Build Docker image
run: docker build .
synth:
runs-on: ubuntu-latest
needs:
- vuln-scan
- lint
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.23.0"
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22.x"
- name: Assume synth role
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ${{ secrets.DEFAULT_AWS_TARGET_REGION }}
role-to-assume: ${{ secrets.CI_CDK_SYNTH_ROLE_ARN }}
- name: Setup CDK
run: npm install -g aws-cdk
- name: CDK Synth
env:
AWS_REGION: ${{ secrets.DEFAULT_AWS_TARGET_REGION }}
AWS_ACCOUNT: ${{ secrets.DEFAULT_TARGET_AWS_ACCOUNT_ID }}
run: make synth_ci