name: Go Linter on: pull_request: branches: - master push: branches: - master jobs: lint: name: Run golangci-lint runs-on: ubuntu-22.04 strategy: matrix: project: - api_gateway steps: - name: Checkout repository uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.23 - name: Install golangci-lint run: | curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.62.2 - name: Run golangci-lint run: | go mod tidy golangci-lint run -c ./.golangci-lint.yaml --fix=false --color=always build: name: Build golang services runs-on: ubuntu-22.04 needs: lint strategy: matrix: project: - api_gateway steps: - name: Checkout repository uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.23 - name: Build golang services run: | go mod tidy CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o main cmd/main.go push: name: Push Docker Images runs-on: ubuntu-22.04 needs: lint if: gitea.ref == 'refs/heads/master' strategy: matrix: project: - api_gateway steps: - name: Checkout репозитория uses: actions/checkout@v4 - name: Build and Push env: SECDIST_CONFIG: ${{ secrets.FMT_CRM_SECDIST_CONFIG }} run: | echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin IMAGE_NAME="molvaapp/${{ matrix.project }}" TAG="latest" docker build -t $IMAGE_NAME:$TAG . docker push $IMAGE_NAME:$TAG