Feature/service #42
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: ${{ secrets.DEFAULT_AWS_TARGET_REGION }} | ||
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: | ||
Check failure on line 68 in .github/workflows/ci.yaml GitHub Actions / Go APP CIInvalid workflow file
|
||
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 |