Skip to content

update diagram

update diagram #21

Workflow file for this run

name: CI
on:
push:
branches: [main]
tags: ['v*']
pull_request:
branches: [main]
jobs:
changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
go: ${{ steps.filter.outputs.go }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
go:
- '**/*.go'
- 'go.mod'
- 'go.sum'
lint:
needs: [changes]
if: needs.changes.outputs.go == 'true' || startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
test:
needs: [lint]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Test
run: make test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
files: ./coverage.out
fail_ci_if_error: false
e2e:
needs: [lint]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Start services
run: make e2e-up
- name: Run e2e tests
run: make e2e
- name: Stop services
if: always()
run: make e2e-down
release:
needs: [lint, test, e2e]
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Build arm64
run: |
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o bootstrap .
zip aws-lb-log-forwarder_linux_arm64.zip bootstrap
rm bootstrap
- name: Build amd64
run: |
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o bootstrap .
zip aws-lb-log-forwarder_linux_amd64.zip bootstrap
rm bootstrap
- name: Create Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: |
aws-lb-log-forwarder_linux_arm64.zip
aws-lb-log-forwarder_linux_amd64.zip