Feature/MIDAZ-358 #67
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 Combined Analysis" | |
on: | |
pull_request: | |
branches: | |
- develop | |
- main | |
types: | |
- opened | |
- edited | |
- synchronize | |
- reopened | |
permissions: | |
id-token: write | |
contents: read | |
pull-requests: read | |
actions: read | |
security-events: write | |
jobs: | |
CodeQL: | |
name: Run CodeQL to Midaz | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 360 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- language: go | |
build-mode: autobuild | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.23' | |
cache: false | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v3 | |
with: | |
languages: ${{ matrix.language }} | |
build-mode: ${{ matrix.build-mode }} | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v3 | |
with: | |
category: "/language:${{matrix.language}}" | |
GoLangCI-Lint: | |
name: Run GoLangCI-Lint to Midaz | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/create-github-app-token@v1 | |
id: app-token | |
with: | |
app-id: ${{ secrets.LERIAN_STUDIO_MIDAZ_PUSH_BOT_APP_ID }} | |
private-key: ${{ secrets.LERIAN_STUDIO_MIDAZ_PUSH_BOT_PRIVATE_KEY }} | |
- name: Import GPG key | |
uses: crazy-max/ghaction-import-gpg@v6 | |
id: import_gpg | |
with: | |
gpg_private_key: ${{ secrets.LERIAN_CI_CD_USER_GPG_KEY }} | |
passphrase: ${{ secrets.LERIAN_CI_CD_USER_GPG_KEY_PASSWORD }} | |
git_committer_name: ${{ secrets.LERIAN_CI_CD_USER_NAME }} | |
git_committer_email: ${{ secrets.LERIAN_CI_CD_USER_EMAIL }} | |
git_config_global: true | |
git_user_signingkey: true | |
git_commit_gpgsign: true | |
- uses: actions/checkout@v4 | |
- name: GoLangCI-Lint | |
uses: reviewdog/action-golangci-lint@v2 | |
with: | |
github_token: ${{ steps.app-token.outputs.token }} | |
go_version: '1.23' | |
tool_name: golint | |
level: error | |
fail_level: any | |
reporter: github-pr-review | |
filter_mode: diff_context | |
env: | |
REVIEWDOG_GITHUB_API_TOKEN: ${{ steps.app-token.outputs.token }} | |
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} | |
GIT_AUTHOR_NAME: ${{ secrets.LERIAN_CI_CD_USER_NAME }} | |
GIT_AUTHOR_EMAIL: ${{ secrets.LERIAN_CI_CD_USER_EMAIL }} | |
GIT_COMMITTER_NAME: ${{ secrets.LERIAN_CI_CD_USER_NAME }} | |
GIT_COMMITTER_EMAIL: ${{ secrets.LERIAN_CI_CD_USER_EMAIL }} | |
GoSec: | |
name: Run GoSec to Midaz | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.23' | |
cache: false | |
- name: Gosec Scanner | |
uses: securego/gosec@master | |
with: | |
args: ./... | |
unit-tests: | |
name: Run Unit Tests to Midaz | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.23' | |
cache: false | |
- name: Unit Tests | |
shell: bash | |
run: make test | |
integration-tests: | |
name: Run Integrations Tests to MDZ | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install Docker Compose | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y docker-compose | |
- name: Setup .env files | |
run: make set-env | |
- name: Start Docker Compose Services | |
run: make up | |
- name: Install CLI | |
run: cd components/mdz && make install-local && cd - | |
- name: Wait for services to be ready | |
run: sleep 10 | |
timeout-minutes: 2 | |
- name: Run Integration Tests | |
run: make test_integration_cli |